Gallery Bank: WordPress Photo Gallery Plugin - Version 3.0.93

Version Description

  • Removed unwanted code
  • New Uploader Introduced.
  • New Layout Introduced for uploader.
  • Thumbs View in Uploader.
  • Add, Edit Gallery Layout changed.
  • Updated JS files.
  • Slovenian Language updated.
Download this release

Release Info

Developer Gallery-Bank
Plugin Icon 128x128 Gallery Bank: WordPress Photo Gallery Plugin
Version 3.0.93
Comparing to
See all releases

Code changes from version 3.0.92 to 3.0.93

Files changed (39) hide show
  1. assets/css/gallery-bank.css +0 -280
  2. assets/css/jquery-ui.css +321 -0
  3. assets/css/jquery.plupload.queue.css +0 -213
  4. assets/css/jquery.ui.plupload.css +370 -0
  5. assets/css/prettyPhoto.css +0 -42
  6. assets/css/stylesheet.css +8 -0
  7. assets/images/backgrounds.gif +0 -0
  8. assets/images/buttons-disabled.png +0 -0
  9. assets/images/buttons.png +0 -0
  10. assets/images/delete.gif +0 -0
  11. assets/images/done.gif +0 -0
  12. assets/images/error.gif +0 -0
  13. assets/images/icons/linkedIn.png +0 -0
  14. assets/images/icons/tweet.png +0 -0
  15. assets/images/plupload/loading.gif +0 -0
  16. assets/images/plupload/plupload.png +0 -0
  17. assets/images/plupload/ui-bg_fine-grain_10_eceadf_60x60.png +0 -0
  18. assets/images/plupload/ui-bg_fine-grain_10_f8f7f6_60x60.png +0 -0
  19. assets/images/plupload/ui-bg_fine-grain_15_eceadf_60x60.png +0 -0
  20. assets/images/plupload/ui-bg_fine-grain_15_f7f3de_60x60.png +0 -0
  21. assets/images/plupload/ui-bg_fine-grain_15_ffffff_60x60.png +0 -0
  22. assets/images/plupload/ui-bg_fine-grain_65_654b24_60x60.png +0 -0
  23. assets/images/plupload/ui-icons_3572ac_256x240.png +0 -0
  24. assets/images/plupload/ui-icons_8c291d_256x240.png +0 -0
  25. assets/images/plupload/ui-icons_b83400_256x240.png +0 -0
  26. assets/images/plupload/ui-icons_ffffff_256x240.png +0 -0
  27. assets/images/transp50.png +0 -0
  28. assets/js/jquery.plupload.queue.js +0 -10
  29. assets/js/jquery.prettyPhoto.js +1 -1
  30. assets/js/jquery.ui.plupload.js +1322 -0
  31. assets/js/plupload.full.min.js +8 -2814
  32. gallery-bank.php +1 -1
  33. lang/gallery-bank-sl_SI.mo +0 -0
  34. lang/gallery-bank-sl_SI.po +347 -238
  35. lib/gallery-bank-class.php +6 -5
  36. readme.txt +12 -2
  37. views/edit-album.php +19 -16
  38. views/header.php +2 -2
  39. views/shortcode.php +2 -3
assets/css/gallery-bank.css CHANGED
@@ -184,163 +184,7 @@ div.gallery-bank-hover-details:hover .gallery-bank-image-details {
184
  opacity: 1;
185
  }
186
 
187
- /**********************Blog Shutter****************************/
188
- .bottom_overlay {
189
- position: relative;
190
- /* Modify the width and the height according to your images sizes */
191
- display: inline-block;
192
- /*overflow:hidden;*/
193
- }
194
- /*******************filstrip*******/
195
- .bottom_overlay .filmstrip_description_black {
196
- /* Rounded background, adjust sizes and position according to your needs */
197
- position: absolute;
198
- width: 100%;
199
- text-align: left;
200
- bottom: 0px;
201
- -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
202
- filter: alpha(opacity=0);
203
- opacity: 0;
204
- -webkit-transition: opacity 0.4s;
205
- -moz-transition: opacity 0.4s;
206
- -o-transition: opacity 0.4s;
207
- -ms-transition: opacity 0.4s;
208
- transition: opacity 0.4s;
209
- }
210
-
211
- .bottom_overlay .filmstrip_description_black {
212
- background: #000000;
213
- background: rgba(0, 0, 0, 0.7);
214
- }
215
 
216
- .bottom_overlay .filmstrip_description_black {
217
- -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
218
- filter: alpha(opacity=100);
219
- opacity: 1;
220
- }
221
- /*******************************************LIGHTBOX**************************************/
222
-
223
- .gb_lightbox_overlay {
224
- display: none;
225
- position: fixed;
226
- top: 0%;
227
- left: 0%;
228
- width: 100%;
229
- height: 100%;
230
- background-color: black;
231
- z-index: 1001;
232
- -moz-opacity: 0.8;
233
- opacity: .80;
234
- filter: alpha(opacity=80);
235
- }
236
- .gb_container
237
- {
238
- display: none;
239
- padding:10px;
240
- background-color: white;
241
- z-index: 999999;
242
- position:fixed;
243
- }
244
- .gb_image_holder
245
- {
246
- display:inline-block;
247
- }
248
- .gb_image_holder #imgFull
249
- {
250
- max-width:700px;
251
- max-height:500px;
252
- }
253
- .gb_image_holder #videoFull
254
- {
255
- max-width:700px;
256
- max-height:500px;
257
- }
258
- .gb_social_icons_holder
259
- {
260
- padding:10px 10px 0 10px;
261
- vertical-align:top;
262
- }
263
- .gb_content_holder
264
- {
265
- display:none;
266
- width:345px;
267
- padding-left:10px;
268
- vertical-align:top;
269
- overflow: auto;
270
- }
271
- .gb_social_div
272
- {
273
- margin-left:0px !important;
274
- margin-bottom:0px !important;
275
- }
276
- .gb_content_holder ul
277
- {
278
- display:none;
279
- }
280
- /*.gb_content_holder li
281
- {
282
- list-style: none !important;
283
- display:inline-block;
284
- padding: 0 10px 0 0 !important;
285
- }*/
286
- .gb_content_holder .gb-facebook-comments
287
- {
288
- display:none;
289
- }
290
- .gb_linked_in
291
- {
292
- height:23px;
293
- margin-right:10px;
294
- cursor:pointer;
295
- }
296
- .facebook_like
297
- {
298
- border:none;
299
- overflow:hidden;
300
- height:30px;
301
- }
302
- .gb_close_lightbox
303
- {
304
- position: absolute;
305
- top: -22px;
306
- right: -22px;
307
- width: 30px;
308
- height: 30px;
309
- background: transparent url("../images/icons/fancybox.png") -40px 0px;
310
- cursor: pointer;
311
- z-index: 1103;
312
- }
313
-
314
- a.gb_lightbox_prev, a.gb_lightbox_next {
315
- background: url(../images/miscellaneous_sprite.png) no-repeat transparent;
316
- width: 45px;
317
- height: 50px;
318
- position: absolute;
319
- vertical-align:middle !important;
320
- display:inline-block;
321
- top: 45%;
322
- cursor: pointer;
323
- }
324
-
325
- a.gb_lightbox_prev {
326
- left: -43px;
327
- background-position: 0 -50px;
328
- }
329
-
330
- a.gb_lightbox_next {
331
- right: -43px;
332
- background-position: -50px -50px;
333
- }
334
- #dvLoading {
335
- background: #000 url(../images/lightbox_loading.gif) no-repeat center center;
336
- height: 100px;
337
- width: 100px;
338
- position: fixed;
339
- z-index: 1000;
340
- left: 50%;
341
- top: 50%;
342
- margin: -25px 0 0 -25px;
343
- }
344
 
345
  /* # Tooltips & popovers
346
  ================================================== */
@@ -429,130 +273,6 @@ div.gallery-bank-hover-details:hover .gallery-bank-image-details {
429
  border-bottom-color: #000000;
430
  }
431
 
432
-
433
-
434
- /*****************************************FILTERS*******************************************/
435
-
436
- .gallery-bank-filter-categories,
437
- .paginator {
438
- float:left;
439
- }
440
-
441
- .gallery-bank-filter-categories a,
442
- .paginator a {
443
- border-left-style: solid;
444
- border-left-width: 1px;
445
- }
446
-
447
- .gallery-bank-filter-categories a:first-child {
448
- border-left: 0px;
449
- }
450
-
451
- .page-links,
452
- .page-nav,
453
- .gallery-bank-filter-categories,
454
- .filter-extras {
455
- border-style: solid;
456
- border-width: 1px;
457
- border-color: rgba(218, 222, 225, 0.8);
458
- -webkit-border-radius: 8px;
459
- -moz-border-radius: 8px;
460
- -ms-border-radius: 8px;
461
- -o-border-radius: 8px;
462
- border-radius: 8px;
463
- -webkit-box-sizing: border-box;
464
- -moz-box-sizing: border-box;
465
- -ms-box-sizing: border-box;
466
- -o-box-sizing: border-box;
467
- box-sizing: border-box;
468
- }
469
-
470
- .gallery-bank-filter-categories a,
471
- .paginator a {
472
- float:left;
473
- -webkit-box-sizing: border-box;
474
- -moz-box-sizing: border-box;
475
- -ms-box-sizing: border-box;
476
- -o-box-sizing: border-box;
477
- box-sizing: border-box;
478
- margin: -1px -1px -1px 0;
479
- text-align: center;
480
- text-decoration: none;
481
- }
482
-
483
- .gallery-bank-filter a {
484
- line-height: 35px;
485
- font-size: 12px;
486
- }
487
-
488
- .gallery-bank-filter-categories a,
489
- .gallery-bank-filter-categories a.act {
490
- padding: 0 15px 0 14px;
491
- line-height: 35px;
492
- font-size: 12px;
493
- }
494
-
495
- .gallery-bank-filter a,
496
- .gallery-bank-filter .gallery-bank-filter-categories.new-style a:first-child {
497
- border-color: rgba(218, 222, 225, 0.8);
498
- }
499
-
500
- .gallery-bank-filter .gallery-bank-filter-categories a.act:first-child {
501
- -webkit-border-radius-left: 8px;
502
- -moz-border-radius-left: 8px;
503
- -ms-border-radius-left: 8px;
504
- -o-border-radius-left: 8px;
505
- border-radius: 8px;
506
- -webkit-border-top-right-radius: 0px;
507
- -moz-border-top-right-radius: 0px;
508
- -ms-border-top-right-radius: 0px;
509
- -o-border-top-right-radius: 0px;
510
- border-top-right-radius: 0px;
511
- -webkit-border-bottom-right-radius: 0px;
512
- -moz-border-bottom-right-radius: 0px;
513
- -ms-border-bottom-right-radius: 0px;
514
- -o-border-bottom-right-radius: 0px;
515
- border-bottom-right-radius: 0px;
516
- border-color: transparent;
517
- }
518
-
519
- .gallery-bank-filter .gallery-bank-filter-categories a.act {
520
- -webkit-border-top-right-radius: 0px;
521
- -moz-border-top-right-radius: 0px;
522
- -ms-border-top-right-radius: 0px;
523
- -o-border-top-right-radius: 0px;
524
- border-top-right-radius: 0px;
525
- -webkit-border-bottom-right-radius: 0px;
526
- -moz-border-bottom-right-radius: 0px;
527
- -ms-border-bottom-right-radius: 0px;
528
- -o-border-bottom-right-radius: 0px;
529
- border-bottom-right-radius: 0px;
530
- border-color: transparent;
531
- }
532
-
533
- .gallery-bank-filter .gallery-bank-filter-categories a.act:last-child {
534
- -webkit-border-radius-right: 8px;
535
- -moz-border-radius-right: 8px;
536
- -ms-border-radius-right: 8px;
537
- -o-border-radius-right: 8px;
538
- border-radius: 8px;
539
- -webkit-border-top-left-radius: 0px;
540
- -moz-border-top-left-radius: 0px;
541
- -ms-border-top-left-radius: 0px;
542
- -o-border-top-left-radius: 0px;
543
- border-top-left-radius: 0px;
544
- -webkit-border-bottom-left-radius: 0px;
545
- -moz-border-bottom-left-radius: 0px;
546
- -ms-border-bottom-left-radius: 0px;
547
- -o-border-bottom-left-radius: 0px;
548
- border-bottom-left-radius: 0px;
549
- border-color: transparent;
550
- }
551
-
552
- .gallery-bank-filter-categories a {
553
- color: #000000;
554
- }
555
-
556
  .separator-doubled {
557
  padding: 0;
558
  height: 0;
184
  opacity: 1;
185
  }
186
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
187
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
188
 
189
  /* # Tooltips & popovers
190
  ================================================== */
273
  border-bottom-color: #000000;
274
  }
275
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
276
  .separator-doubled {
277
  padding: 0;
278
  height: 0;
assets/css/jquery-ui.css ADDED
@@ -0,0 +1,321 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*! jQuery UI - v1.10.2 - 2013-03-14
2
+ * http://jqueryui.com
3
+ * Includes: jquery.ui.core.css, jquery.ui.accordion.css, jquery.ui.autocomplete.css, jquery.ui.button.css, jquery.ui.datepicker.css, jquery.ui.dialog.css, jquery.ui.menu.css, jquery.ui.progressbar.css, jquery.ui.resizable.css, jquery.ui.selectable.css, jquery.ui.slider.css, jquery.ui.spinner.css, jquery.ui.tabs.css, jquery.ui.tooltip.css
4
+ * To view and modify this theme, visit http://jqueryui.com/themeroller/?ffDefault=Trebuchet%20MS%2CTahoma%2CVerdana%2CArial%2Csans-serif&fwDefault=bold&fsDefault=1.1em&cornerRadius=6px&bgColorHeader=ffffff&bgTextureHeader=fine_grain&bgImgOpacityHeader=15&borderColorHeader=d4d1bf&fcHeader=453821&iconColorHeader=b83400&bgColorContent=eceadf&bgTextureContent=fine_grain&bgImgOpacityContent=10&borderColorContent=d9d6c4&fcContent=1f1f1f&iconColorContent=222222&bgColorDefault=f8f7f6&bgTextureDefault=fine_grain&bgImgOpacityDefault=10&borderColorDefault=cbc7bd&fcDefault=654b24&iconColorDefault=b83400&bgColorHover=654b24&bgTextureHover=fine_grain&bgImgOpacityHover=65&borderColorHover=654b24&fcHover=ffffff&iconColorHover=ffffff&bgColorActive=eceadf&bgTextureActive=fine_grain&bgImgOpacityActive=15&borderColorActive=d9d6c4&fcActive=140f06&iconColorActive=8c291d&bgColorHighlight=f7f3de&bgTextureHighlight=fine_grain&bgImgOpacityHighlight=15&borderColorHighlight=b2a266&fcHighlight=3a3427&iconColorHighlight=3572ac&bgColorError=b83400&bgTextureError=fine_grain&bgImgOpacityError=68&borderColorError=681818&fcError=ffffff&iconColorError=fbdb93&bgColorOverlay=6e4f1c&bgTextureOverlay=diagonal_maze&bgImgOpacityOverlay=20&opacityOverlay=60&bgColorShadow=000000&bgTextureShadow=diagonal_maze&bgImgOpacityShadow=40&opacityShadow=60&thicknessShadow=5px&offsetTopShadow=0&offsetLeftShadow=-10px&cornerRadiusShadow=18px
5
+ * Copyright 2013 jQuery Foundation and other contributors Licensed MIT */
6
+
7
+ /* Misc visuals
8
+ ----------------------------------*/
9
+ .ui-button {
10
+ display: inline-block;
11
+ position: relative;
12
+ padding: 0;
13
+ line-height: normal;
14
+ margin-right: .1em;
15
+ cursor: pointer;
16
+ vertical-align: middle;
17
+ text-align: center;
18
+ overflow: visible; /* removes extra width in IE */
19
+ }
20
+ .ui-button,
21
+ .ui-button:link,
22
+ .ui-button:visited,
23
+ .ui-button:hover,
24
+ .ui-button:active {
25
+ text-decoration: none;
26
+ }
27
+ /* to make room for the icon, a width needs to be set here */
28
+ .ui-button-icon-only {
29
+ width: 2.2em;
30
+ }
31
+ /* button elements seem to need a little more width */
32
+ button.ui-button-icon-only {
33
+ width: 2.4em;
34
+ }
35
+ .ui-button-icons-only {
36
+ width: 3.4em;
37
+ }
38
+ button.ui-button-icons-only {
39
+ width: 3.7em;
40
+ }
41
+
42
+ /* button text element */
43
+ .ui-button .ui-button-text {
44
+ display: block;
45
+ line-height: normal;
46
+ }
47
+ .ui-button-text-only .ui-button-text {
48
+ padding: .4em 1em;
49
+ }
50
+ .ui-button-icon-only .ui-button-text,
51
+ .ui-button-icons-only .ui-button-text {
52
+ padding: .4em;
53
+ text-indent: -9999999px;
54
+ }
55
+ .ui-button-text-icon-primary .ui-button-text,
56
+ .ui-button-text-icons .ui-button-text {
57
+ padding: .4em 1em .4em 2.1em;
58
+ }
59
+ .ui-button-text-icon-secondary .ui-button-text,
60
+ .ui-button-text-icons .ui-button-text {
61
+ padding: .4em 2.1em .4em 1em;
62
+ }
63
+ .ui-button-text-icons .ui-button-text {
64
+ padding-left: 2.1em;
65
+ padding-right: 2.1em;
66
+ }
67
+ /* no icon support for input elements, provide padding by default */
68
+ input.ui-button {
69
+ padding: .4em 1em;
70
+ }
71
+
72
+ /* button icon element(s) */
73
+ .ui-button-icon-only .ui-icon,
74
+ .ui-button-text-icon-primary .ui-icon,
75
+ .ui-button-text-icon-secondary .ui-icon,
76
+ .ui-button-text-icons .ui-icon,
77
+ .ui-button-icons-only .ui-icon {
78
+ position: absolute;
79
+ top: 50%;
80
+ margin-top: -8px;
81
+ }
82
+ .ui-button-icon-only .ui-icon {
83
+ left: 50%;
84
+ margin-left: -8px;
85
+ }
86
+ .ui-button-text-icon-primary .ui-button-icon-primary,
87
+ .ui-button-text-icons .ui-button-icon-primary,
88
+ .ui-button-icons-only .ui-button-icon-primary {
89
+ left: .5em;
90
+ }
91
+ .ui-button-text-icon-secondary .ui-button-icon-secondary,
92
+ .ui-button-text-icons .ui-button-icon-secondary,
93
+ .ui-button-icons-only .ui-button-icon-secondary {
94
+ right: .5em;
95
+ }
96
+
97
+ /* button sets */
98
+ .ui-buttonset {
99
+ margin-right: 7px;
100
+ }
101
+ .ui-buttonset .ui-button {
102
+ margin-left: 0;
103
+ margin-right: -.3em;
104
+ }
105
+
106
+ /* workarounds */
107
+ /* reset extra padding in Firefox, see h5bp.com/l */
108
+ input.ui-button::-moz-focus-inner,
109
+ button.ui-button::-moz-focus-inner {
110
+ border: 0;
111
+ padding: 0;
112
+ }
113
+
114
+ .ui-progressbar {
115
+ height: 2em;
116
+ text-align: left;
117
+ overflow: hidden;
118
+ }
119
+ .ui-progressbar .ui-progressbar-value {
120
+ margin: -1px;
121
+ height: 100%;
122
+ }
123
+ .ui-progressbar .ui-progressbar-overlay {
124
+ background: url("../images/plupload/animated-overlay.gif");
125
+ height: 100%;
126
+ filter: alpha(opacity=25);
127
+ opacity: 0.25;
128
+ }
129
+ .ui-progressbar-indeterminate .ui-progressbar-value {
130
+ background-image: none;
131
+ }
132
+
133
+ /* Component containers
134
+ ----------------------------------*/
135
+ .ui-widget {
136
+ font-family: Trebuchet MS,Tahoma,Verdana,Arial,sans-serif;
137
+ font-size: 1.1em;
138
+ }
139
+ .ui-widget .ui-widget {
140
+ font-size: 1em;
141
+ }
142
+ .ui-widget input,
143
+ .ui-widget select,
144
+ .ui-widget textarea,
145
+ .ui-widget button {
146
+ font-family: Trebuchet MS,Tahoma,Verdana,Arial,sans-serif;
147
+ font-size: 1em;
148
+ }
149
+ .ui-widget-content {
150
+ border: 1px solid #d9d6c4;
151
+ background: #eceadf url(../images/plupload/ui-bg_fine-grain_10_eceadf_60x60.png) 50% 50% repeat;
152
+ color: #1f1f1f;
153
+ }
154
+ .ui-widget-content a {
155
+ color: #1f1f1f;
156
+ }
157
+ .ui-widget-header {
158
+ border: 1px solid #d4d1bf;
159
+ background: #ffffff url(../images/plupload/ui-bg_fine-grain_15_ffffff_60x60.png) 50% 50% repeat;
160
+ color: #453821;
161
+ font-weight: bold;
162
+ }
163
+ .ui-widget-header a {
164
+ color: #453821;
165
+ }
166
+
167
+ /* Interaction states
168
+ ----------------------------------*/
169
+ .ui-state-default,
170
+ .ui-widget-content .ui-state-default,
171
+ .ui-widget-header .ui-state-default {
172
+ border: 1px solid #cbc7bd;
173
+ background: #f8f7f6 url(../images/plupload/ui-bg_fine-grain_10_f8f7f6_60x60.png) 50% 50% repeat;
174
+ font-weight: bold;
175
+ color: #654b24;
176
+ }
177
+ .ui-state-default a,
178
+ .ui-state-default a:link,
179
+ .ui-state-default a:visited {
180
+ color: #654b24;
181
+ text-decoration: none;
182
+ }
183
+ .ui-state-hover,
184
+ .ui-widget-content .ui-state-hover,
185
+ .ui-widget-header .ui-state-hover,
186
+ .ui-state-focus,
187
+ .ui-widget-content .ui-state-focus,
188
+ .ui-widget-header .ui-state-focus {
189
+ border: 1px solid #654b24;
190
+ background: #654b24 url(../images/plupload/ui-bg_fine-grain_65_654b24_60x60.png) 50% 50% repeat;
191
+ font-weight: bold;
192
+ color: #ffffff;
193
+ }
194
+ .ui-state-hover a,
195
+ .ui-state-hover a:hover,
196
+ .ui-state-hover a:link,
197
+ .ui-state-hover a:visited {
198
+ color: #ffffff;
199
+ text-decoration: none;
200
+ }
201
+ .ui-state-active,
202
+ .ui-widget-content .ui-state-active,
203
+ .ui-widget-header .ui-state-active {
204
+ border: 1px solid #d9d6c4;
205
+ background: #eceadf url(../images/plupload/ui-bg_fine-grain_15_eceadf_60x60.png) 50% 50% repeat;
206
+ font-weight: bold;
207
+ color: #140f06;
208
+ }
209
+ .ui-state-active a,
210
+ .ui-state-active a:link,
211
+ .ui-state-active a:visited {
212
+ color: #140f06;
213
+ text-decoration: none;
214
+ }
215
+
216
+ /* Interaction Cues
217
+ ----------------------------------*/
218
+ .ui-state-highlight,
219
+ .ui-widget-content .ui-state-highlight,
220
+ .ui-widget-header .ui-state-highlight {
221
+ border: 1px solid #b2a266;
222
+ background: #f7f3de url(../images/plupload/ui-bg_fine-grain_15_f7f3de_60x60.png) 50% 50% repeat;
223
+ color: #3a3427;
224
+ }
225
+ .ui-state-highlight a,
226
+ .ui-widget-content .ui-state-highlight a,
227
+ .ui-widget-header .ui-state-highlight a {
228
+ color: #3a3427;
229
+ }
230
+ .ui-state-error,
231
+ .ui-widget-content .ui-state-error,
232
+ .ui-widget-header .ui-state-error {
233
+ border: 1px solid #681818;
234
+ background: #b83400 url(../images/plupload/ui-bg_fine-grain_68_b83400_60x60.png) 50% 50% repeat;
235
+ color: #ffffff;
236
+ }
237
+ .ui-state-error a,
238
+ .ui-widget-content .ui-state-error a,
239
+ .ui-widget-header .ui-state-error a {
240
+ color: #ffffff;
241
+ }
242
+ .ui-state-error-text,
243
+ .ui-widget-content .ui-state-error-text,
244
+ .ui-widget-header .ui-state-error-text {
245
+ color: #ffffff;
246
+ }
247
+ .ui-priority-primary,
248
+ .ui-widget-content .ui-priority-primary,
249
+ .ui-widget-header .ui-priority-primary {
250
+ font-weight: bold;
251
+ }
252
+ .ui-priority-secondary,
253
+ .ui-widget-content .ui-priority-secondary,
254
+ .ui-widget-header .ui-priority-secondary {
255
+ opacity: .7;
256
+ filter:Alpha(Opacity=70);
257
+ font-weight: normal;
258
+ }
259
+ .ui-state-disabled,
260
+ .ui-widget-content .ui-state-disabled,
261
+ .ui-widget-header .ui-state-disabled {
262
+ opacity: .35;
263
+ filter:Alpha(Opacity=35);
264
+ background-image: none;
265
+ }
266
+ .ui-state-disabled .ui-icon {
267
+ filter:Alpha(Opacity=35); /* For IE8 - See #6059 */
268
+ }
269
+
270
+ /* Icons
271
+ ----------------------------------*/
272
+
273
+ /* states and images */
274
+ .ui-icon {
275
+ width: 16px;
276
+ height: 16px;
277
+ }
278
+ .ui-icon,
279
+ .ui-widget-content .ui-icon {
280
+ background-image: url(../images/plupload/ui-icons_222222_256x240.png);
281
+ }
282
+ .ui-widget-header .ui-icon {
283
+ background-image: url(../images/plupload/ui-icons_b83400_256x240.png);
284
+ }
285
+ .ui-state-default .ui-icon {
286
+ background-image: url(../images/plupload/ui-icons_b83400_256x240.png);
287
+ }
288
+ .ui-state-hover .ui-icon,
289
+ .ui-state-focus .ui-icon {
290
+ background-image: url(../images/plupload/ui-icons_ffffff_256x240.png);
291
+ }
292
+ .ui-state-active .ui-icon {
293
+ background-image: url(../images/plupload/ui-icons_8c291d_256x240.png);
294
+ }
295
+ .ui-state-highlight .ui-icon {
296
+ background-image: url(../images/plupload/ui-icons_3572ac_256x240.png);
297
+ }
298
+ .ui-state-error .ui-icon,
299
+ .ui-state-error-text .ui-icon {
300
+ background-image: url(../images/plupload/ui-icons_fbdb93_256x240.png);
301
+ }
302
+
303
+ /* positioning */
304
+
305
+ .ui-icon-image { background-position: -208px -128px; }
306
+ .ui-icon-stop { background-position: -96px -160px; }
307
+ .ui-icon-circle-plus { background-position: 0 -192px; }
308
+ .ui-icon-circle-close { background-position: -32px -192px; }
309
+ .ui-icon-circle-minus { background-position: -16px -192px; }
310
+ .ui-icon-circle-triangle-n { background-position: -96px -192px; }
311
+ .ui-icon-circle-arrow-e { background-position: -112px -192px; }
312
+ .ui-icon-circle-arrow-s { background-position: -128px -192px; }
313
+ .ui-icon-circle-arrow-w { background-position: -144px -192px; }
314
+ .ui-icon-circle-arrow-n { background-position: -160px -192px; }
315
+ .ui-icon-circle-zoomin { background-position: -176px -192px; }
316
+ .ui-icon-circle-zoomout { background-position: -192px -192px; }
317
+ .ui-icon-circle-check { background-position: -208px -192px; }
318
+ .ui-icon-circlesmall-plus { background-position: 0 -208px; }
319
+ .ui-icon-circlesmall-minus { background-position: -16px -208px; }
320
+ .ui-icon-circlesmall-close { background-position: -32px -208px; }
321
+ .ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }
assets/css/jquery.plupload.queue.css DELETED
@@ -1,213 +0,0 @@
1
- /*
2
- Plupload
3
- ------------------------------------------------------------------- */
4
-
5
- .plupload_button {
6
- display: -moz-inline-box; /* FF < 3*/
7
- display: inline-block;
8
- font: normal 12px sans-serif;
9
- text-decoration: none;
10
- color: #42454a;
11
- border: 1px solid #bababa;
12
- padding: 2px 8px 3px 20px;
13
- margin-right: 4px;
14
- background: #f3f3f3 url('../images/buttons.png') no-repeat 0 center;
15
- outline: 0;
16
-
17
- /* Optional rounded corners for browsers that support it */
18
- -moz-border-radius: 3px;
19
- -khtml-border-radius: 3px;
20
- -webkit-border-radius: 3px;
21
- border-radius: 3px;
22
- }
23
-
24
- .plupload_button:hover {
25
- color: #000;
26
- text-decoration: none;
27
- }
28
-
29
- .plupload_disabled, a.plupload_disabled:hover {
30
- color: #737373;
31
- border-color: #c5c5c5;
32
- background: #ededed url('../images/buttons-disabled.png') no-repeat 0 center;
33
- cursor: default;
34
- }
35
-
36
- .plupload_add {
37
- background-position: -181px center;
38
- }
39
-
40
- .plupload_wrapper {
41
- font: normal 11px Verdana, sans-serif;
42
- width: 100%;
43
- }
44
-
45
- .plupload_container {
46
- padding: 8px;
47
- background: url('../images/transp50.png');
48
- /*-moz-border-radius: 5px;*/
49
- }
50
-
51
- .plupload_container input {
52
- border: 1px solid #DDD;
53
- font: normal 11px Verdana, sans-serif;
54
- width: 98%;
55
- }
56
-
57
- .plupload_header {
58
- background: #2A2C2E url('../images/backgrounds.gif') repeat-x;
59
- }
60
-
61
- .plupload_header_content {
62
- background: url('../images/backgrounds.gif') no-repeat 0 -317px;
63
- min-height: 56px;
64
- padding-left: 60px;
65
- color: #FFF;
66
- }
67
-
68
- .plupload_header_title {
69
- font: normal 18px sans-serif;
70
- padding: 6px 0 3px;
71
- }
72
-
73
- .plupload_header_text {
74
- font: normal 12px sans-serif;
75
- }
76
-
77
- .plupload_filelist {
78
- margin: 0;
79
- padding: 0;
80
- list-style: none;
81
- }
82
-
83
- .plupload_scroll .plupload_filelist {
84
- height: 185px;
85
- background: #F5F5F5;
86
- overflow-y: scroll;
87
- }
88
-
89
- .plupload_filelist li {
90
- padding: 10px 8px;
91
- background: #F5F5F5 url('../images/backgrounds.gif') repeat-x 0 -156px;
92
- border-bottom: 1px solid #DDD;
93
- }
94
-
95
- .plupload_filelist_header, .plupload_filelist_footer {
96
- background: #DFDFDF;
97
- padding: 8px 8px;
98
- color: #42454A;
99
- }
100
-
101
- .plupload_filelist_header {
102
- border-top: 1px solid #EEE;
103
- border-bottom: 1px solid #CDCDCD;
104
- }
105
-
106
- .plupload_filelist_footer {
107
- border-top: 1px solid #FFF;
108
- height: 22px;
109
- line-height: 20px;
110
- vertical-align: middle;
111
- }
112
-
113
- .plupload_file_name {
114
- float: left;
115
- overflow: hidden
116
- }
117
-
118
- .plupload_file_status {
119
- color: #777;
120
- }
121
-
122
- .plupload_file_status span {
123
- color: #42454A;
124
- }
125
-
126
- .plupload_file_size, .plupload_file_status, .plupload_progress {
127
- float: right;
128
- width: 80px;
129
- }
130
-
131
- .plupload_file_size, .plupload_file_status, .plupload_file_action {
132
- text-align: right;
133
- }
134
-
135
- .plupload_filelist .plupload_file_name {
136
- width: 205px
137
- }
138
-
139
- .plupload_file_action {
140
- float: right;
141
- width: 16px;
142
- height: 16px;
143
- margin-left: 15px;
144
- }
145
-
146
- .plupload_file_action * {
147
- display: none;
148
- width: 16px;
149
- height: 16px;
150
- }
151
-
152
- li.plupload_uploading {
153
- background: #ECF3DC url('../images/backgrounds.gif') repeat-x 0 -238px;
154
- }
155
-
156
- li.plupload_done {
157
- color: #AAA
158
- }
159
-
160
- li.plupload_delete a {
161
- background: url('../images/delete.gif');
162
- }
163
-
164
- li.plupload_failed a {
165
- background: url('../images/error.gif');
166
- cursor: default;
167
- }
168
-
169
- li.plupload_done a {
170
- background: url('../images/done.gif');
171
- cursor: default;
172
- }
173
-
174
- .plupload_progress, .plupload_upload_status {
175
- display: none;
176
- }
177
-
178
- .plupload_progress_container {
179
- margin-top: 3px;
180
- border: 1px solid #CCC;
181
- background: #FFF;
182
- padding: 1px;
183
- }
184
-
185
- .plupload_progress_bar {
186
- width: 0px;
187
- height: 7px;
188
- background: #CDEB8B;
189
- }
190
-
191
- .plupload_scroll .plupload_filelist_header .plupload_file_action, .plupload_scroll .plupload_filelist_footer .plupload_file_action {
192
- margin-right: 17px;
193
- }
194
-
195
- /* Floats */
196
-
197
- .plupload_clear, .plupload_clearer {
198
- clear: both;
199
- }
200
-
201
- .plupload_clearer, .plupload_progress_bar {
202
- display: block;
203
- font-size: 0;
204
- line-height: 0;
205
- }
206
-
207
- li.plupload_droptext {
208
- background: transparent;
209
- text-align: center;
210
- vertical-align: middle;
211
- border: 0;
212
- line-height: 165px;
213
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
assets/css/jquery.ui.plupload.css ADDED
@@ -0,0 +1,370 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /*
2
+ Plupload
3
+ ------------------------------------------------------------------- */
4
+
5
+ .plupload_wrapper * {
6
+ box-sizing: content-box;
7
+ }
8
+
9
+ .plupload_button {
10
+ cursor: pointer;
11
+ outline: none;
12
+ }
13
+
14
+ .plupload_wrapper {
15
+ font: normal 11px Verdana,sans-serif;
16
+ width: 100%;
17
+ min-width: 500px;
18
+ line-height: 12px;
19
+ }
20
+
21
+ .plupload_container {
22
+ _height: 300px;
23
+ min-height: 300px;
24
+ position: relative;
25
+ }
26
+
27
+ .plupload_filelist_footer {border-width: 1px 0 0 0}
28
+ .plupload_file {border-width: 0 0 1px 0}
29
+ .plupload_container .plupload_header {border-width: 0 0 1px 0; position: relative;}
30
+
31
+ .plupload_delete .ui-icon,
32
+ .plupload_done .ui-icon,
33
+ .plupload_failed .ui-icon {
34
+ cursor:pointer;
35
+ }
36
+
37
+ .plupload_header_content {
38
+ height: 56px;
39
+ padding: 0 160px 0 60px;
40
+ position: relative;
41
+ }
42
+
43
+ .plupload_logo {
44
+ width: 40px;
45
+ height: 40px;
46
+ background: url('../images/plupload/plupload.png') no-repeat 0 0;
47
+ position: absolute;
48
+ top: 8px;
49
+ left: 8px;
50
+ }
51
+
52
+ .plupload_header_content_bw .plupload_logo {
53
+ background-position: -40px 0;
54
+ }
55
+
56
+ .plupload_header_title {
57
+ font: normal 18px sans-serif;
58
+ line-height: 19px;
59
+ padding: 6px 0 3px;
60
+ }
61
+
62
+ .plupload_header_text {
63
+ font: normal 12px sans-serif;
64
+ }
65
+
66
+ .plupload_view_switch {
67
+ position: absolute;
68
+ right: 16px;
69
+ bottom: 8px;
70
+ margin: 0;
71
+ display: none;
72
+ }
73
+
74
+ .plupload_view_switch .ui-button {
75
+ margin-right: -0.31em;
76
+ }
77
+
78
+ .plupload_content {
79
+ position: absolute;
80
+ top: 86px;
81
+ bottom: 44px;
82
+ left: 0;
83
+ right: 0;
84
+ overflow-y: auto;
85
+ width: 100%;
86
+ }
87
+
88
+ .plupload_filelist {
89
+ border-collapse: collapse;
90
+ border-left: none;
91
+ border-right: none;
92
+ margin: 0;
93
+ padding: 0;
94
+ width: 100%;
95
+ -moz-user-select: none;
96
+ -webkit-user-select: none;
97
+ user-select: none;
98
+ }
99
+
100
+ .plupload_filelist_content {
101
+ padding: 0;
102
+ margin: 0;
103
+ }
104
+
105
+ .plupload_cell {padding: 8px 6px;}
106
+
107
+ .plupload_file {
108
+ list-style: none;
109
+ display: block;
110
+ position: relative;
111
+ overflow: hidden;
112
+ line-height: 12px;
113
+ }
114
+
115
+ .plupload_file_thumb {
116
+ position: relative;
117
+ background-image: none;
118
+ background-color: #eee;
119
+ }
120
+
121
+ .plupload_file_loading .plupload_file_thumb {
122
+ background: #eee url(../images/plupload/loading.gif) center no-repeat;
123
+ }
124
+
125
+ .plupload_file_name {
126
+ overflow: hidden;
127
+ text-overflow: ellipsis;
128
+ white-space: nowrap;
129
+ }
130
+
131
+ .plupload_filelist_header {
132
+ border-top: none;
133
+ }
134
+
135
+ .plupload_filelist_footer {
136
+ position: absolute;
137
+ bottom: 0;
138
+ left: 0;
139
+ right: 0;
140
+ }
141
+
142
+ .plupload_buttons {
143
+ position: relative;
144
+ }
145
+
146
+ /* list view */
147
+ .plupload_view_list .plupload_file {
148
+ border-left: none;
149
+ border-right: none;
150
+ border-top: none;
151
+ height: 29px;
152
+ width: 100% !important;
153
+ /* fix IE6 vertical white-space bug */
154
+ _float: left;
155
+ _clear: left;
156
+ }
157
+
158
+ .plupload_view_list div.plupload_file_size,
159
+ .plupload_view_list div.plupload_file_status,
160
+ .plupload_view_list div.plupload_file_action {
161
+ padding: 8px 6px;
162
+ position: absolute;
163
+ top: 0;
164
+ right: 0;
165
+ }
166
+
167
+ .plupload_view_list div.plupload_file_name {
168
+ margin-right: 156px;
169
+ padding: 8px 6px;
170
+ _width: 75%;
171
+ }
172
+
173
+ .plupload_view_list div.plupload_file_size {
174
+ right: 28px;
175
+ }
176
+
177
+ .plupload_view_list div.plupload_file_status {
178
+ right: 82px;
179
+ }
180
+
181
+ .plupload_view_list .plupload_file_rename {
182
+ margin-left: -2px;
183
+ }
184
+
185
+ .plupload_view_list .plupload_file_size,
186
+ .plupload_view_list .plupload_file_status,
187
+ .plupload_filelist_footer .plupload_file_size,
188
+ .plupload_filelist_footer .plupload_file_status {
189
+ text-align: right;
190
+ width: 52px;
191
+ }
192
+
193
+ .plupload_view_list .plupload_file_thumb {
194
+ position: absolute;
195
+ top: -999px;
196
+ }
197
+
198
+ .plupload_view_list .plupload_file_progress {
199
+ display: none;
200
+ }
201
+
202
+
203
+ /* thumbs view */
204
+ .plupload_view_thumbs .plupload_content {
205
+ top: 57px;
206
+ }
207
+
208
+ .plupload_view_thumbs .plupload_filelist_header {
209
+ display: none;
210
+ }
211
+
212
+ .plupload_view_thumbs .plupload_file {
213
+ padding: 6px;
214
+ margin: 10px;
215
+ border: 1px solid #fff;
216
+ float: left;
217
+ }
218
+
219
+ .plupload_view_thumbs .plupload_file_thumb,
220
+ .plupload_view_thumbs .plupload_file_dummy {
221
+ text-align: center;
222
+ overflow: hidden;
223
+ }
224
+
225
+ .plupload_view_thumbs .plupload_file_dummy {
226
+ font-size: 21px;
227
+ font-weight: bold;
228
+ text-transform: lowercase;
229
+ overflow: hidden;
230
+ border: none;
231
+ position: absolute;
232
+ top: 0;
233
+ left: 0;
234
+ width: 100%;
235
+ height: 100%;
236
+ }
237
+
238
+ .plupload_view_thumbs div.plupload_file_action {
239
+ position: absolute;
240
+ top: 0;
241
+ right: 0;
242
+ }
243
+
244
+ .plupload_view_thumbs div.plupload_file_name {
245
+ padding: 0;
246
+ font-weight: bold;
247
+ }
248
+
249
+ .plupload_view_thumbs .plupload_file_rename {
250
+ padding: 1px 0;
251
+ width: 100% !important;
252
+ }
253
+
254
+ .plupload_view_thumbs div.plupload_file_size {
255
+ font-size: 0.8em;
256
+ font-weight: normal;
257
+ }
258
+
259
+ .plupload_view_thumbs div.plupload_file_status {
260
+ position: relative;
261
+ height: 3px;
262
+ overflow: hidden;
263
+ text-indent: -999px;
264
+ margin-bottom: 3px;
265
+ }
266
+
267
+ .plupload_view_thumbs div.plupload_file_progress {
268
+ border: none;
269
+ height: 100%;
270
+ }
271
+
272
+ .plupload .ui-sortable-helper,
273
+ .plupload .ui-sortable .plupload_file {
274
+ cursor:move;
275
+ }
276
+
277
+ .plupload_file_action {width: 16px;}
278
+ .plupload_file_name {
279
+ overflow: hidden;
280
+ padding-left: 10px;
281
+ }
282
+
283
+ .plupload_file_rename {
284
+ border: none;
285
+ font: normal 11px Verdana, sans-serif;
286
+ padding: 1px 2px;
287
+ line-height: 11px;
288
+ height: 11px;
289
+ }
290
+
291
+ .plupload_progress {width: 60px;}
292
+ .plupload_progress_container {padding: 1px;}
293
+
294
+
295
+ /* Floats */
296
+
297
+ .plupload_right {float: right;}
298
+ .plupload_left {float: left;}
299
+ .plupload_clear,.plupload_clearer {clear: both;}
300
+ .plupload_clearer, .plupload_progress_bar {
301
+ display: block;
302
+ font-size: 0;
303
+ line-height: 0;
304
+ }
305
+ .plupload_clearer {height: 0;}
306
+
307
+ /* Misc */
308
+ .plupload_hidden {display: none !important;}
309
+
310
+ .plupload_droptext {
311
+ position: absolute;
312
+ top: 0;
313
+ left: 0;
314
+ right: 0;
315
+ bottom: 0;
316
+ background: transparent;
317
+ text-align: center;
318
+ vertical-align: middle;
319
+ border: 0;
320
+ line-height: 160px;
321
+ display: none;
322
+ }
323
+
324
+ .plupload_dropbox .plupload_droptext {
325
+ display: block;
326
+ }
327
+
328
+ .plupload_buttons, .plupload_upload_status {float: left}
329
+
330
+ .plupload_message {
331
+ position: absolute;
332
+ top: -1px;
333
+ left: -1px;
334
+ height: 100%;
335
+ width: 100%;
336
+ }
337
+
338
+ .plupload_message p {
339
+ padding:0.7em;
340
+ margin:0;
341
+ }
342
+
343
+ .plupload_message strong {
344
+ font-weight: bold;
345
+ }
346
+
347
+ plupload_message i {
348
+ font-style: italic;
349
+ }
350
+
351
+ .plupload_message p span.ui-icon {
352
+ float: left;
353
+ margin-right: 0.3em;
354
+ }
355
+
356
+ .plupload_header_content .ui-state-error,
357
+ .plupload_header_content .ui-state-highlight {
358
+ border:none;
359
+ }
360
+
361
+ .plupload_message_close {
362
+ position:absolute;
363
+ top:5px;
364
+ right:5px;
365
+ cursor:pointer;
366
+ }
367
+
368
+ .plupload .ui-sortable-placeholder {
369
+ height:35px;
370
+ }
assets/css/prettyPhoto.css CHANGED
@@ -1,35 +1,3 @@
1
- /*div.pp_default .pp_content .ppt
2
- {
3
- position:absolute;
4
- top:auto;
5
- right:auto;
6
- bottom:0;
7
- left:0;
8
- z-index:9999;
9
- overflow:hidden;
10
- width:100%;
11
- text-align:center;
12
- font-size:14px;
13
- padding:15px 0px 15px 0px;
14
- text-align: left;
15
- display:none;
16
- }
17
- /*div.ppt{color:#fff;display:none;font-size:17px;z-index:9999;margin:0 0 5px 15px}*/
18
- /*div.pp_default .pp_content .ppt{background-color:#000;background-color:rgba(0,0,0,.7)}
19
- div.pp_default .pp_content .ppt h5
20
- {
21
- margin:0px;
22
- padding:5px;
23
- }
24
- div.pp_default .pp_content .ppt p
25
- {
26
- padding:5px;
27
- margin-bottom 0px;
28
- }*/
29
- /*.fbx-caption
30
- {
31
- position:fixed;z-index:100007;
32
- }*/
33
  div.pp_default .pp_content .pp_description {
34
  position: absolute;
35
  top: auto;
@@ -60,11 +28,6 @@ div.pp_default .pp_content .pp_description p {
60
  line-height: 1.5em !important;
61
  }
62
 
63
- /*.pp_description{font-size:11px;font-weight:700;line-height:14px;margin:5px 50px 5px 0}
64
- div.pp_default .pp_content .pp_description{position:absolute;margin-right:85px;color:#fff}
65
- div.pp_default .pp_content .pp_description{position:absolute;color:#fff;margin:0 85px 0 0}
66
- div.pp_default .pp_content .pp_description{margin:0 37px 0 0}
67
- div.pp_default .pp_content .pp_description{display:none;margin:0;clear:both;}*/
68
  div.pp_default .pp_content .ppt {
69
  border-radius: 0 0 3px 3px
70
  }
@@ -80,7 +43,6 @@ div.pp_default .pp_content .ppt {
80
  color: #f8f8f8
81
  }
82
 
83
- /*div.pp_default .pp_content_container .pp_left{background:url(../images/prettyPhoto/default/sprite_y.png) -7px 0 repeat-y;padding-left:13px}*//*div.pp_default .pp_content_container .pp_right{background:url(../images/prettyPhoto/default/sprite_y.png) top right repeat-y;padding-right:13px}*/
84
  div.pp_default .pp_next:hover {
85
  background: url(../images/prettyPhoto/default/sprite_next.png) center right no-repeat;
86
  cursor: pointer
@@ -186,10 +148,6 @@ div.pp_default .pp_close:hover, div.pp_default .pp_nav .pp_play:hover, div.pp_de
186
  opacity: 0.7
187
  }
188
 
189
- /*div.pp_default .pp_description{font-size:11px;font-weight:700;line-height:14px;margin:5px 50px 5px 0}*/
190
- /*div.pp_default .pp_bottom .pp_left{background:url(../images/prettyPhoto/default/sprite.png) -78px -127px no-repeat}
191
- div.pp_default .pp_bottom .pp_middle{background:url(../images/prettyPhoto/default/sprite_x.png) bottom left repeat-x}
192
- div.pp_default .pp_bottom .pp_right{background:url(../images/prettyPhoto/default/sprite.png) -112px -127px no-repeat}*/
193
  div.pp_default .pp_loaderIcon {
194
  background: url(../images/prettyPhoto/default/loader.gif) center center no-repeat
195
  }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  div.pp_default .pp_content .pp_description {
2
  position: absolute;
3
  top: auto;
28
  line-height: 1.5em !important;
29
  }
30
 
 
 
 
 
 
31
  div.pp_default .pp_content .ppt {
32
  border-radius: 0 0 3px 3px
33
  }
43
  color: #f8f8f8
44
  }
45
 
 
46
  div.pp_default .pp_next:hover {
47
  background: url(../images/prettyPhoto/default/sprite_next.png) center right no-repeat;
48
  cursor: pointer
148
  opacity: 0.7
149
  }
150
 
 
 
 
 
151
  div.pp_default .pp_loaderIcon {
152
  background: url(../images/prettyPhoto/default/loader.gif) center center no-repeat
153
  }
assets/css/stylesheet.css CHANGED
@@ -1,3 +1,11 @@
 
 
 
 
 
 
 
 
1
  .gallery_plugin_message
2
  {
3
  font-weight: 400;
1
+ .custom_gallery_layout_label
2
+ {
3
+ width: 74px !important;
4
+ }
5
+ .custom_gallery_layout_control
6
+ {
7
+ margin-left: 80px !important;
8
+ }
9
  .gallery_plugin_message
10
  {
11
  font-weight: 400;
assets/images/backgrounds.gif DELETED
Binary file
assets/images/buttons-disabled.png DELETED
Binary file
assets/images/buttons.png DELETED
Binary file
assets/images/delete.gif DELETED
Binary file
assets/images/done.gif DELETED
Binary file
assets/images/error.gif DELETED
Binary file
assets/images/icons/linkedIn.png DELETED
Binary file
assets/images/icons/tweet.png DELETED
Binary file
assets/images/plupload/loading.gif ADDED
Binary file
assets/images/plupload/plupload.png ADDED
Binary file
assets/images/plupload/ui-bg_fine-grain_10_eceadf_60x60.png ADDED
Binary file
assets/images/plupload/ui-bg_fine-grain_10_f8f7f6_60x60.png ADDED
Binary file
assets/images/plupload/ui-bg_fine-grain_15_eceadf_60x60.png ADDED
Binary file
assets/images/plupload/ui-bg_fine-grain_15_f7f3de_60x60.png ADDED
Binary file
assets/images/plupload/ui-bg_fine-grain_15_ffffff_60x60.png ADDED
Binary file
assets/images/plupload/ui-bg_fine-grain_65_654b24_60x60.png ADDED
Binary file
assets/images/plupload/ui-icons_3572ac_256x240.png ADDED
Binary file
assets/images/plupload/ui-icons_8c291d_256x240.png ADDED
Binary file
assets/images/plupload/ui-icons_b83400_256x240.png ADDED
Binary file
assets/images/plupload/ui-icons_ffffff_256x240.png ADDED
Binary file
assets/images/transp50.png DELETED
Binary file
assets/js/jquery.plupload.queue.js DELETED
@@ -1,10 +0,0 @@
1
- /**
2
- * jquery.plupload.queue.js
3
- *
4
- * Copyright 2009, Moxiecode Systems AB
5
- * Released under GPL License.
6
- *
7
- * License: http://www.plupload.com/license
8
- * Contributing: http://www.plupload.com/contributing
9
- */
10
- ;(function(e,t){function r(e){return plupload.translate(e)||e}function i(t,n){n.contents().each(function(t,n){n=e(n),n.is(".plupload")||n.remove()}),n.prepend('<div class="plupload_wrapper plupload_scroll"><div id="'+t+'_container" class="plupload_container">'+'<div class="plupload">'+'<div class="plupload_header">'+'<div class="plupload_header_content">'+'<div class="plupload_header_title">'+r("Select files")+"</div>"+'<div class="plupload_header_text">'+r("Add files to the upload queue and click the start button.")+"</div>"+"</div>"+"</div>"+'<div class="plupload_content">'+'<div class="plupload_filelist_header">'+'<div class="plupload_file_name">'+r("Filename")+"</div>"+'<div class="plupload_file_action">&nbsp;</div>'+'<div class="plupload_file_status"><span>'+r("Status")+"</span></div>"+'<div class="plupload_file_size">'+r("Size")+"</div>"+'<div class="plupload_clearer">&nbsp;</div>'+"</div>"+'<ul id="'+t+'_filelist" class="plupload_filelist"></ul>'+'<div class="plupload_filelist_footer">'+'<div class="plupload_file_name">'+'<div class="plupload_buttons">'+'<a href="#" class="plupload_button plupload_add" id="'+t+'_browse">'+r("Add Files")+"</a>"+'<a href="#" class="plupload_button plupload_start">'+r("Start Upload")+"</a>"+"</div>"+'<span class="plupload_upload_status"></span>'+"</div>"+'<div class="plupload_file_action"></div>'+'<div class="plupload_file_status"><span class="plupload_total_status">0%</span></div>'+'<div class="plupload_file_size"><span class="plupload_total_file_size">0 b</span></div>'+'<div class="plupload_progress">'+'<div class="plupload_progress_container">'+'<div class="plupload_progress_bar"></div>'+"</div>"+"</div>"+'<div class="plupload_clearer">&nbsp;</div>'+"</div>"+"</div>"+"</div>"+"</div>"+'<input type="hidden" id="'+t+'_count" name="'+t+'_count" value="0" />'+"</div>")}var n={};e.fn.pluploadQueue=function(s){return s?(this.each(function(){function c(t){var n;t.status==plupload.DONE&&(n="plupload_done"),t.status==plupload.FAILED&&(n="plupload_failed"),t.status==plupload.QUEUED&&(n="plupload_delete"),t.status==plupload.UPLOADING&&(n="plupload_uploading");var r=e("#"+t.id).attr("class",n).find("a").css("display","block");t.hint&&r.attr("title",t.hint)}function h(){e("span.plupload_total_status",a).html(u.total.percent+"%"),e("div.plupload_progress_bar",a).css("width",u.total.percent+"%"),e("span.plupload_upload_status",a).html(t.sprintf(r("Uploaded %d/%d files"),u.total.uploaded,u.files.length))}function p(){var n=e("ul.plupload_filelist",a).html(""),i=0,s;e.each(u.files,function(t,r){s="",r.status==plupload.DONE&&(r.target_name&&(s+='<input type="hidden" name="'+f+"_"+i+'_tmpname" value="'+plupload.xmlEncode(r.target_name)+'" />'),s+='<input type="hidden" name="'+f+"_"+i+'_name" value="'+plupload.xmlEncode(r.name)+'" />',s+='<input type="hidden" name="'+f+"_"+i+'_status" value="'+(r.status==plupload.DONE?"done":"failed")+'" />',i++,e("#"+f+"_count").val(i)),n.append('<li id="'+r.id+'">'+'<div class="plupload_file_name"><span>'+r.name+"</span></div>"+'<div class="plupload_file_action"><a href="#"></a></div>'+'<div class="plupload_file_status">'+r.percent+"%</div>"+'<div class="plupload_file_size">'+plupload.formatSize(r.size)+"</div>"+'<div class="plupload_clearer">&nbsp;</div>'+s+"</li>"),c(r),e("#"+r.id+".plupload_delete a").click(function(t){e("#"+r.id).remove(),u.removeFile(r),t.preventDefault()})}),e("span.plupload_total_file_size",a).html(plupload.formatSize(u.total.size)),u.total.queued===0?e("span.plupload_add_text",a).html(r("Add Files")):e("span.plupload_add_text",a).html(t.sprintf(r("%d files queued"),u.total.queued)),e("a.plupload_start",a).toggleClass("plupload_disabled",u.files.length==u.total.uploaded+u.total.failed),n[0].scrollTop=n[0].scrollHeight,h(),!u.files.length&&u.features.dragdrop&&u.settings.dragdrop&&e("#"+f+"_filelist").append('<li class="plupload_droptext">'+r("Drag files here.")+"</li>")}function d(){delete n[f],u.destroy(),a.html(l),u=a=l=null}var u,a,f,l;a=e(this),f=a.attr("id"),f||(f=plupload.guid(),a.attr("id",f)),l=a.html(),i(f,a),s=e.extend({dragdrop:!0,browse_button:f+"_browse",container:f},s),s.dragdrop&&(s.drop_element=f+"_filelist"),u=new plupload.Uploader(s),n[f]=u,u.bind("UploadFile",function(t,n){e("#"+n.id).addClass("plupload_current_file")}),u.bind("Init",function(t,n){!s.unique_names&&s.rename&&a.on("click","#"+f+"_filelist div.plupload_file_name span",function(n){var r=e(n.target),i,s,o,u="";i=t.getFile(r.parents("li")[0].id),o=i.name,s=/^(.+)(\.[^.]+)$/.exec(o),s&&(o=s[1],u=s[2]),r.hide().after('<input type="text" />'),r.next().val(o).focus().blur(function(){r.show().next().remove()}).keydown(function(t){var n=e(this);t.keyCode==13&&(t.preventDefault(),i.name=n.val()+u,r.html(i.name),n.blur())})}),e("#"+f+"_container").attr("title","Using runtime: "+n.runtime),e("a.plupload_start",a).click(function(t){e(this).hasClass("plupload_disabled")||u.start(),t.preventDefault()}),e("a.plupload_stop",a).click(function(e){e.preventDefault(),u.stop()}),e("a.plupload_start",a).addClass("plupload_disabled")}),u.bind("Error",function(t,n){var i=n.file,s;i&&(s=n.message,n.details&&(s+=" ("+n.details+")"),n.code==plupload.FILE_SIZE_ERROR&&alert(r("Error: File too large:")+" "+i.name),n.code==plupload.FILE_EXTENSION_ERROR&&alert(r("Error: Invalid file extension:")+" "+i.name),i.hint=s,e("#"+i.id).attr("class","plupload_failed").find("a").css("display","block").attr("title",s)),n.code===plupload.INIT_ERROR&&setTimeout(function(){d()},1)}),u.bind("PostInit",function(t){t.settings.dragdrop&&t.features.dragdrop&&e("#"+f+"_filelist").append('<li class="plupload_droptext">'+r("Drag files here.")+"</li>")}),u.init(),u.bind("StateChanged",function(){u.state===plupload.STARTED?(e("li.plupload_delete a,div.plupload_buttons",a).hide(),e("span.plupload_upload_status,div.plupload_progress,a.plupload_stop",a).css("display","block"),e("span.plupload_upload_status",a).html("Uploaded "+u.total.uploaded+"/"+u.files.length+" files"),s.multiple_queues&&e("span.plupload_total_status,span.plupload_total_file_size",a).show()):(p(),e("a.plupload_stop,div.plupload_progress",a).hide(),e("a.plupload_delete",a).css("display","block"),s.multiple_queues&&u.total.uploaded+u.total.failed==u.files.length&&(e(".plupload_buttons,.plupload_upload_status",a).css("display","inline"),e(".plupload_start",a).addClass("plupload_disabled"),e("span.plupload_total_status,span.plupload_total_file_size",a).hide()))}),u.bind("FilesAdded",p),u.bind("FilesRemoved",function(){var t=e("#"+f+"_filelist").scrollTop();p(),e("#"+f+"_filelist").scrollTop(t)}),u.bind("FileUploaded",function(e,t){c(t)}),u.bind("UploadProgress",function(t,n){e("#"+n.id+" div.plupload_file_status",a).html(n.percent+"%"),c(n),h()}),s.setup&&s.setup(u)}),this):n[e(this[0]).attr("id")]}})(jQuery,mOxie);
 
 
 
 
 
 
 
 
 
 
assets/js/jquery.prettyPhoto.js CHANGED
@@ -369,7 +369,7 @@
369
  wmode: "opaque",
370
  autoplay: true,
371
  modal: false,
372
- deeplinking: true,
373
  overlay_gallery: true,
374
  overlay_gallery_max: 30,
375
  keyboard_shortcuts: true,
369
  wmode: "opaque",
370
  autoplay: true,
371
  modal: false,
372
+ deeplinking: false,
373
  overlay_gallery: true,
374
  overlay_gallery_max: 30,
375
  keyboard_shortcuts: true,
assets/js/jquery.ui.plupload.js ADDED
@@ -0,0 +1,1322 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ /**
2
+ * jquery.ui.plupload.js
3
+ *
4
+ * Copyright 2013, Moxiecode Systems AB
5
+ * Released under GPL License.
6
+ *
7
+ * License: http://www.plupload.com/license
8
+ * Contributing: http://www.plupload.com/contributing
9
+ *
10
+ * Depends:
11
+ * jquery.ui.core.js
12
+ * jquery.ui.widget.js
13
+ * jquery.ui.button.js
14
+ * jquery.ui.progressbar.js
15
+ *
16
+ * Optionally:
17
+ * jquery.ui.sortable.js
18
+ */
19
+
20
+ /* global jQuery:true */
21
+
22
+ /**
23
+ jQuery UI based implementation of the Plupload API - multi-runtime file uploading API.
24
+
25
+ To use the widget you must include _jQuery_ and _jQuery UI_ bundle (including `ui.core`, `ui.widget`, `ui.button`,
26
+ `ui.progressbar` and `ui.sortable`).
27
+
28
+ In general the widget is designed the way that you do not usually need to do anything to it after you instantiate it.
29
+ But! You still can intervenue, to some extent, in case you need to. Although, due to the fact that widget is based on
30
+ _jQuery UI_ widget factory, there are some specifics. See examples below for more details.
31
+
32
+ @example
33
+ <!-- Instantiating: -->
34
+ <div id="uploader">
35
+ <p>Your browser doesn't have Flash, Silverlight or HTML5 support.</p>
36
+ </div>
37
+
38
+ <script>
39
+ $('#uploader').plupload({
40
+ url : '../upload.php',
41
+ filters : [
42
+ {title : "Image files", extensions : "jpg,gif,png"}
43
+ ],
44
+ rename: true,
45
+ sortable: true,
46
+ flash_swf_url : '../../js/Moxie.swf',
47
+ silverlight_xap_url : '../../js/Moxie.xap',
48
+ });
49
+ </script>
50
+
51
+ @example
52
+ // Invoking methods:
53
+ $('#uploader').plupload(options);
54
+
55
+ // Display welcome message in the notification area
56
+ $('#uploader').plupload('notify', 'info', "This might be obvious, but you need to click 'Add Files' to add some files.");
57
+
58
+ @example
59
+ // Subscribing to the events...
60
+ // ... on initialization:
61
+ $('#uploader').plupload({
62
+ ...
63
+ viewchanged: function(event, args) {
64
+ // stuff ...
65
+ }
66
+ });
67
+ // ... or after initialization
68
+ $('#uploader').on("viewchanged", function(event, args) {
69
+ // stuff ...
70
+ });
71
+
72
+ @class UI.Plupload
73
+ @constructor
74
+ @param {Object} settings For detailed information about each option check documentation.
75
+ @param {String} settings.url URL of the server-side upload handler.
76
+ @param {Number|String} [settings.chunk_size=0] Chunk size in bytes to slice the file into. Shorcuts with b, kb, mb, gb, tb suffixes also supported. `e.g. 204800 or "204800b" or "200kb"`. By default - disabled.
77
+ @param {String} [settings.file_data_name="file"] Name for the file field in Multipart formated message.
78
+ @param {Object} [settings.filters={}] Set of file type filters.
79
+ @param {Array} [settings.filters.mime_types=[]] List of file types to accept, each one defined by title and list of extensions. `e.g. {title : "Image files", extensions : "jpg,jpeg,gif,png"}`. Dispatches `plupload.FILE_EXTENSION_ERROR`
80
+ @param {String|Number} [settings.filters.max_file_size=0] Maximum file size that the user can pick, in bytes. Optionally supports b, kb, mb, gb, tb suffixes. `e.g. "10mb" or "1gb"`. By default - not set. Dispatches `plupload.FILE_SIZE_ERROR`.
81
+ @param {Boolean} [settings.filters.prevent_duplicates=false] Do not let duplicates into the queue. Dispatches `plupload.FILE_DUPLICATE_ERROR`.
82
+ @param {Number} [settings.filters.max_file_count=0] Limit the number of files that can reside in the queue at the same time (default is 0 - no limit).
83
+ @param {String} [settings.flash_swf_url] URL of the Flash swf.
84
+ @param {Object} [settings.headers] Custom headers to send with the upload. Hash of name/value pairs.
85
+ @param {Number|String} [settings.max_file_size] Maximum file size that the user can pick, in bytes. Optionally supports b, kb, mb, gb, tb suffixes. `e.g. "10mb" or "1gb"`. By default - not set. Dispatches `plupload.FILE_SIZE_ERROR`.
86
+ @param {Number} [settings.max_retries=0] How many times to retry the chunk or file, before triggering Error event.
87
+ @param {Boolean} [settings.multipart=true] Whether to send file and additional parameters as Multipart formated message.
88
+ @param {Object} [settings.multipart_params] Hash of key/value pairs to send with every file upload.
89
+ @param {Boolean} [settings.multi_selection=true] Enable ability to select multiple files at once in file dialog.
90
+ @param {Boolean} [settings.prevent_duplicates=false] Do not let duplicates into the queue. Dispatches `plupload.FILE_DUPLICATE_ERROR`.
91
+ @param {String|Object} [settings.required_features] Either comma-separated list or hash of required features that chosen runtime should absolutely possess.
92
+ @param {Object} [settings.resize] Enable resizng of images on client-side. Applies to `image/jpeg` and `image/png` only. `e.g. {width : 200, height : 200, quality : 90, crop: true}`
93
+ @param {Number} [settings.resize.width] If image is bigger, it will be resized.
94
+ @param {Number} [settings.resize.height] If image is bigger, it will be resized.
95
+ @param {Number} [settings.resize.quality=90] Compression quality for jpegs (1-100).
96
+ @param {Boolean} [settings.resize.crop=false] Whether to crop images to exact dimensions. By default they will be resized proportionally.
97
+ @param {String} [settings.runtimes="html5,flash,silverlight,html4"] Comma separated list of runtimes, that Plupload will try in turn, moving to the next if previous fails.
98
+ @param {String} [settings.silverlight_xap_url] URL of the Silverlight xap.
99
+ @param {Boolean} [settings.unique_names=false] If true will generate unique filenames for uploaded files.
100
+
101
+ @param {Boolean} [settings.autostart=false] Whether to auto start uploading right after file selection.
102
+ @param {Boolean} [settings.dragdrop=true] Enable ability to add file to the queue by drag'n'dropping them from the desktop.
103
+ @param {Boolean} [settings.rename=false] Enable ability to rename files in the queue.
104
+ @param {Boolean} [settings.sortable=false] Enable ability to sort files in the queue, changing their uploading priority.
105
+ @param {Object} [settings.buttons] Control the visibility of functional buttons.
106
+ @param {Boolean} [settings.buttons.browse=true] Display browse button.
107
+ @param {Boolean} [settings.buttons.start=true] Display start button.
108
+ @param {Boolean} [settings.buttons.stop=true] Display stop button.
109
+ @param {Object} [settings.views] Control various views of the file queue.
110
+ @param {Boolean} [settings.views.list=true] Enable list view.
111
+ @param {Boolean} [settings.views.thumbs=false] Enable thumbs view.
112
+ @param {String} [settings.views.default='list'] Default view.
113
+ @param {Boolean} [settings.views.remember=true] Whether to remember the current view (requires jQuery Cookie plugin).
114
+ @param {Boolean} [settings.multiple_queues=true] Re-activate the widget after each upload procedure.
115
+ */
116
+ ;(function(window, document, plupload, o, $) {
117
+
118
+ /**
119
+ Dispatched when the widget is initialized and ready.
120
+
121
+ @event ready
122
+ @param {plupload.Uploader} uploader Uploader instance sending the event.
123
+ */
124
+
125
+ /**
126
+ Dispatched when file dialog is closed.
127
+
128
+ @event selected
129
+ @param {plupload.Uploader} uploader Uploader instance sending the event.
130
+ @param {Array} files Array of selected files represented by plupload.File objects
131
+ */
132
+
133
+ /**
134
+ Dispatched when file dialog is closed.
135
+
136
+ @event removed
137
+ @param {plupload.Uploader} uploader Uploader instance sending the event.
138
+ @param {Array} files Array of removed files represented by plupload.File objects
139
+ */
140
+
141
+ /**
142
+ Dispatched when upload is started.
143
+
144
+ @event start
145
+ @param {plupload.Uploader} uploader Uploader instance sending the event.
146
+ */
147
+
148
+ /**
149
+ Dispatched when upload is stopped.
150
+
151
+ @event stop
152
+ @param {plupload.Uploader} uploader Uploader instance sending the event.
153
+ */
154
+
155
+ /**
156
+ Dispatched during the upload process.
157
+
158
+ @event progress
159
+ @param {plupload.Uploader} uploader Uploader instance sending the event.
160
+ @param {plupload.File} file File that is being uploaded (includes loaded and percent properties among others).
161
+ @param {Number} size Total file size in bytes.
162
+ @param {Number} loaded Number of bytes uploaded of the files total size.
163
+ @param {Number} percent Number of percentage uploaded of the file.
164
+ */
165
+
166
+ /**
167
+ Dispatched when file is uploaded.
168
+
169
+ @event uploaded
170
+ @param {plupload.Uploader} uploader Uploader instance sending the event.
171
+ @param {plupload.File} file File that was uploaded.
172
+ @param {Enum} status Status constant matching the plupload states QUEUED, UPLOADING, FAILED, DONE.
173
+ */
174
+
175
+ /**
176
+ Dispatched when upload of the whole queue is complete.
177
+
178
+ @event complete
179
+ @param {plupload.Uploader} uploader Uploader instance sending the event.
180
+ @param {Array} files Array of uploaded files represented by plupload.File objects
181
+ */
182
+
183
+ /**
184
+ Dispatched when the view is changed, e.g. from `list` to `thumbs` or vice versa.
185
+
186
+ @event viewchanged
187
+ @param {plupload.Uploader} uploader Uploader instance sending the event.
188
+ @param {String} type Current view type.
189
+ */
190
+
191
+ /**
192
+ Dispatched when error of some kind is detected.
193
+
194
+ @event error
195
+ @param {plupload.Uploader} uploader Uploader instance sending the event.
196
+ @param {String} error Error message.
197
+ @param {plupload.File} file File that was uploaded.
198
+ @param {Enum} status Status constant matching the plupload states QUEUED, UPLOADING, FAILED, DONE.
199
+ */
200
+
201
+ var uploaders = {};
202
+
203
+ function _(str) {
204
+ return plupload.translate(str) || str;
205
+ }
206
+
207
+ function renderUI(obj) {
208
+ obj.id = obj.attr('id');
209
+
210
+ obj.html(
211
+ '<div class="plupload_wrapper">' +
212
+ '<div class="ui-widget-content plupload_container">' +
213
+ '<div class="ui-state-default ui-widget-header plupload_header">' +
214
+ '<div class="plupload_header_content">' +
215
+ '<div class="plupload_logo"> </div>' +
216
+ '<div class="plupload_header_title">' + _("Select files") + '</div>' +
217
+ '<div class="plupload_header_text">' + _("Add files to the upload queue and click the start button.") + '</div>' +
218
+ '<div class="plupload_view_switch">' +
219
+ '<input type="radio" id="'+obj.id+'_view_list" name="view_mode_'+obj.id+'" checked="checked" /><label class="plupload_button" for="'+obj.id+'_view_list" data-view="list">' + _('List') + '</label>' +
220
+ '<input type="radio" id="'+obj.id+'_view_thumbs" name="view_mode_'+obj.id+'" /><label class="plupload_button" for="'+obj.id+'_view_thumbs" data-view="thumbs">' + _('Thumbnails') + '</label>' +
221
+ '</div>' +
222
+ '</div>' +
223
+ '</div>' +
224
+
225
+ '<table class="plupload_filelist plupload_filelist_header ui-widget-header">' +
226
+ '<tr>' +
227
+ '<td class="plupload_cell plupload_file_name">' + _('Filename') + '</td>' +
228
+ '<td class="plupload_cell plupload_file_status">' + _('Status') + '</td>' +
229
+ '<td class="plupload_cell plupload_file_size">' + _('Size') + '</td>' +
230
+ '<td class="plupload_cell plupload_file_action">&nbsp;</td>' +
231
+ '</tr>' +
232
+ '</table>' +
233
+
234
+ '<div class="plupload_content">' +
235
+ '<div class="plupload_droptext">' + _("Drag files here.") + '</div>' +
236
+ '<ul class="plupload_filelist_content"> </ul>' +
237
+ '<div class="plupload_clearer">&nbsp;</div>' +
238
+ '</div>' +
239
+
240
+ '<table class="plupload_filelist plupload_filelist_footer ui-widget-header">' +
241
+ '<tr>' +
242
+ '<td class="plupload_cell plupload_file_name">' +
243
+ '<div class="plupload_buttons"><!-- Visible -->' +
244
+ '<a class="plupload_button plupload_add">' + _("Add Files") + '</a>&nbsp;' +
245
+ '<a class="plupload_button plupload_start">' + _("Start Upload") + '</a>&nbsp;' +
246
+ '<a class="plupload_button plupload_stop plupload_hidden">'+_("Stop Upload") + '</a>&nbsp;' +
247
+ '</div>' +
248
+
249
+ '<div class="plupload_started plupload_hidden"><!-- Hidden -->' +
250
+ '<div class="plupload_progress plupload_right">' +
251
+ '<div class="plupload_progress_container"></div>' +
252
+ '</div>' +
253
+
254
+ '<div class="plupload_cell plupload_upload_status"></div>' +
255
+
256
+ '<div class="plupload_clearer">&nbsp;</div>' +
257
+ '</div>' +
258
+ '</td>' +
259
+ '<td class="plupload_file_status"><span class="plupload_total_status">0%</span></td>' +
260
+ '<td class="plupload_file_size"><span class="plupload_total_file_size">0 kb</span></td>' +
261
+ '<td class="plupload_file_action"></td>' +
262
+ '</tr>' +
263
+ '</table>' +
264
+
265
+ '</div>' +
266
+ '<input class="plupload_count" value="0" type="hidden">' +
267
+ '</div>'
268
+ );
269
+ }
270
+
271
+
272
+ $.widget("ui.plupload", {
273
+
274
+ widgetEventPrefix: '',
275
+
276
+ contents_bak: '',
277
+
278
+ options: {
279
+ browse_button_hover: 'ui-state-hover',
280
+ browse_button_active: 'ui-state-active',
281
+
282
+ filters: {},
283
+
284
+ // widget specific
285
+ buttons: {
286
+ browse: true,
287
+ start: true,
288
+ stop: true
289
+ },
290
+
291
+ views: {
292
+ list: true,
293
+ thumbs: false,
294
+ active: 'list',
295
+ remember: true // requires: https://github.com/carhartl/jquery-cookie, otherwise disabled even if set to true
296
+ },
297
+
298
+ thumb_width: 100,
299
+ thumb_height: 60,
300
+
301
+ multiple_queues: true, // re-use widget by default
302
+ dragdrop : true,
303
+ autostart: false,
304
+ sortable: false,
305
+ rename: false
306
+ },
307
+
308
+ FILE_COUNT_ERROR: -9001,
309
+
310
+ _create: function() {
311
+ var id = this.element.attr('id');
312
+ if (!id) {
313
+ id = plupload.guid();
314
+ this.element.attr('id', id);
315
+ }
316
+ this.id = id;
317
+
318
+ // backup the elements initial state
319
+ this.contents_bak = this.element.html();
320
+ renderUI(this.element);
321
+
322
+ // container, just in case
323
+ this.container = $('.plupload_container', this.element).attr('id', id + '_container');
324
+
325
+ this.content = $('.plupload_content', this.element);
326
+
327
+ if ($.fn.resizable) {
328
+ this.container.resizable({
329
+ handles: 's',
330
+ minHeight: 300
331
+ });
332
+ }
333
+
334
+ // list of files, may become sortable
335
+ this.filelist = $('.plupload_filelist_content', this.container)
336
+ .attr({
337
+ id: id + '_filelist',
338
+ unselectable: 'on'
339
+ });
340
+
341
+
342
+ // buttons
343
+ this.browse_button = $('.plupload_add', this.container).attr('id', id + '_browse');
344
+ this.start_button = $('.plupload_start', this.container).attr('id', id + '_start');
345
+ this.stop_button = $('.plupload_stop', this.container).attr('id', id + '_stop');
346
+ this.thumbs_switcher = $('#' + id + '_view_thumbs');
347
+ this.list_switcher = $('#' + id + '_view_list');
348
+
349
+ if ($.ui.button) {
350
+ this.browse_button.button({
351
+ icons: { primary: 'ui-icon-circle-plus' },
352
+ disabled: true
353
+ });
354
+
355
+ this.start_button.button({
356
+ icons: { primary: 'ui-icon-circle-arrow-e' },
357
+ disabled: true
358
+ });
359
+
360
+ this.stop_button.button({
361
+ icons: { primary: 'ui-icon-circle-close' }
362
+ });
363
+
364
+ this.list_switcher.button({
365
+ text: false,
366
+ icons: { secondary: "ui-icon-grip-dotted-horizontal" }
367
+ });
368
+
369
+ this.thumbs_switcher.button({
370
+ text: false,
371
+ icons: { secondary: "ui-icon-image" }
372
+ });
373
+ }
374
+
375
+ // progressbar
376
+ this.progressbar = $('.plupload_progress_container', this.container);
377
+
378
+ if ($.ui.progressbar) {
379
+ this.progressbar.progressbar();
380
+ }
381
+
382
+ // counter
383
+ this.counter = $('.plupload_count', this.element)
384
+ .attr({
385
+ id: id + '_count',
386
+ name: id + '_count'
387
+ });
388
+
389
+ // initialize uploader instance
390
+ this._initUploader();
391
+ },
392
+
393
+ _initUploader: function() {
394
+ var self = this
395
+ , id = this.id
396
+ , uploader
397
+ , options = {
398
+ container: id + '_buttons',
399
+ browse_button: id + '_browse'
400
+ }
401
+ ;
402
+
403
+ $('.plupload_buttons', this.element).attr('id', id + '_buttons');
404
+
405
+ if (self.options.dragdrop) {
406
+ this.filelist.parent().attr('id', this.id + '_dropbox');
407
+ options.drop_element = this.id + '_dropbox';
408
+ }
409
+
410
+ this.filelist.on('click', function(e) {
411
+ if ($(e.target).hasClass('plupload_action_icon')) {
412
+ self.removeFile($(e.target).closest('.plupload_file').attr('id'));
413
+ e.preventDefault();
414
+ }
415
+ });
416
+
417
+ uploader = this.uploader = uploaders[id] = new plupload.Uploader($.extend(this.options, options));
418
+
419
+ if (self.options.views.thumbs) {
420
+ uploader.settings.required_features.display_media = true;
421
+ }
422
+
423
+ // for backward compatibility
424
+ if (self.options.max_file_count) {
425
+ plupload.extend(uploader.getOption('filters'), {
426
+ max_file_count: self.options.max_file_count
427
+ });
428
+ }
429
+
430
+ plupload.addFileFilter('max_file_count', function(maxCount, file, cb) {
431
+ if (maxCount <= this.files.length - (this.total.uploaded + this.total.failed)) {
432
+ self.browse_button.button('disable');
433
+ this.disableBrowse();
434
+
435
+ this.trigger('Error', {
436
+ code : self.FILE_COUNT_ERROR,
437
+ message : _("File count error."),
438
+ file : file
439
+ });
440
+ cb(false);
441
+ } else {
442
+ cb(true);
443
+ }
444
+ });
445
+
446
+
447
+ uploader.bind('Error', function(up, err) {
448
+ var message, details = "";
449
+
450
+ message = '<strong>' + err.message + '</strong>';
451
+
452
+ switch (err.code) {
453
+ case plupload.FILE_EXTENSION_ERROR:
454
+ details = o.sprintf(_("File: %s"), err.file.name);
455
+ break;
456
+
457
+ case plupload.FILE_SIZE_ERROR:
458
+ details = o.sprintf(_("File: %s, size: %d, max file size: %d"), err.file.name, plupload.formatSize(err.file.size), plupload.formatSize(plupload.parseSize(up.getOption('filters').max_file_size)));
459
+ break;
460
+
461
+ case plupload.FILE_DUPLICATE_ERROR:
462
+ details = o.sprintf(_("%s already present in the queue."), err.file.name);
463
+ break;
464
+
465
+ case self.FILE_COUNT_ERROR:
466
+ details = o.sprintf(_("Upload element accepts only %d file(s) at a time. Extra files were stripped."), up.getOption('filters').max_file_count || 0);
467
+ break;
468
+
469
+ case plupload.IMAGE_FORMAT_ERROR :
470
+ details = _("Image format either wrong or not supported.");
471
+ break;
472
+
473
+ case plupload.IMAGE_MEMORY_ERROR :
474
+ details = _("Runtime ran out of available memory.");
475
+ break;
476
+
477
+ /* // This needs a review
478
+ case plupload.IMAGE_DIMENSIONS_ERROR :
479
+ details = o.sprintf(_('Resoultion out of boundaries! <b>%s</b> runtime supports images only up to %wx%hpx.'), up.runtime, up.features.maxWidth, up.features.maxHeight);
480
+ break; */
481
+
482
+ case plupload.HTTP_ERROR:
483
+ details = _("Upload URL might be wrong or doesn't exist.");
484
+ break;
485
+ }
486
+
487
+ message += " <br /><i>" + details + "</i>";
488
+
489
+ self._trigger('error', null, { up: up, error: err } );
490
+
491
+ // do not show UI if no runtime can be initialized
492
+ if (err.code === plupload.INIT_ERROR) {
493
+ setTimeout(function() {
494
+ self.destroy();
495
+ }, 1);
496
+ } else {
497
+ self.notify('error', message);
498
+ }
499
+ });
500
+
501
+
502
+ uploader.bind('PostInit', function(up) {
503
+ // all buttons are optional, so they can be disabled and hidden
504
+ if (!self.options.buttons.browse) {
505
+ self.browse_button.button('disable').hide();
506
+ up.disableBrowse(true);
507
+ } else {
508
+ self.browse_button.button('enable');
509
+ }
510
+
511
+ if (!self.options.buttons.start) {
512
+ self.start_button.button('disable').hide();
513
+ }
514
+
515
+ if (!self.options.buttons.stop) {
516
+ self.stop_button.button('disable').hide();
517
+ }
518
+
519
+ if (!self.options.unique_names && self.options.rename) {
520
+ self._enableRenaming();
521
+ }
522
+
523
+ if (self.options.dragdrop && up.features.dragdrop) {
524
+ self.filelist.parent().addClass('plupload_dropbox');
525
+ }
526
+
527
+ self._enableViewSwitcher();
528
+
529
+ self.start_button.click(function(e) {
530
+ if (!$(this).button('option', 'disabled')) {
531
+ self.start();
532
+ }
533
+ e.preventDefault();
534
+ });
535
+
536
+ self.stop_button.click(function(e) {
537
+ self.stop();
538
+ e.preventDefault();
539
+ });
540
+
541
+ self._trigger('ready', null, { up: up });
542
+ });
543
+
544
+ // uploader internal events must run first
545
+ uploader.init();
546
+
547
+ uploader.bind('FileFiltered', function(up, file) {
548
+ self._addFiles(file);
549
+ });
550
+
551
+ uploader.bind('FilesAdded', function(up, files) {
552
+ self._trigger('selected', null, { up: up, files: files } );
553
+
554
+ // re-enable sortable
555
+ if (self.options.sortable && $.ui.sortable) {
556
+ self._enableSortingList();
557
+ }
558
+
559
+ self._trigger('updatelist', null, { filelist: self.filelist });
560
+
561
+ if (self.options.autostart) {
562
+ // set a little delay to make sure that QueueChanged triggered by the core has time to complete
563
+ setTimeout(function() {
564
+ self.start();
565
+ }, 10);
566
+ }
567
+ });
568
+
569
+ uploader.bind('FilesRemoved', function(up, files) {
570
+ // destroy sortable if enabled
571
+ if ($.ui.sortable && self.options.sortable) {
572
+ $('tbody', self.filelist).sortable('destroy');
573
+ }
574
+
575
+ $.each(files, function(i, file) {
576
+ $('#' + file.id).toggle("highlight", function() {
577
+ $(this).remove();
578
+ });
579
+ });
580
+
581
+ if (up.files.length) {
582
+ // re-initialize sortable
583
+ if (self.options.sortable && $.ui.sortable) {
584
+ self._enableSortingList();
585
+ }
586
+ }
587
+
588
+ self._trigger('updatelist', null, { filelist: self.filelist });
589
+ self._trigger('removed', null, { up: up, files: files } );
590
+ });
591
+
592
+ uploader.bind('QueueChanged StateChanged', function() {
593
+ self._handleState();
594
+ });
595
+
596
+ uploader.bind('UploadFile', function(up, file) {
597
+ self._handleFileStatus(file);
598
+ });
599
+
600
+ uploader.bind('FileUploaded', function(up, file) {
601
+ self._handleFileStatus(file);
602
+ self._trigger('uploaded', null, { up: up, file: file } );
603
+ });
604
+
605
+ uploader.bind('UploadProgress', function(up, file) {
606
+ self._handleFileStatus(file);
607
+ self._updateTotalProgress();
608
+ self._trigger('progress', null, { up: up, file: file } );
609
+ });
610
+
611
+ uploader.bind('UploadComplete', function(up, files) {
612
+ self._addFormFields();
613
+ self._trigger('complete', null, { up: up, files: files } );
614
+ });
615
+ },
616
+
617
+
618
+ _setOption: function(key, value) {
619
+ var self = this;
620
+
621
+ if (key == 'buttons' && typeof(value) == 'object') {
622
+ value = $.extend(self.options.buttons, value);
623
+
624
+ if (!value.browse) {
625
+ self.browse_button.button('disable').hide();
626
+ self.uploader.disableBrowse(true);
627
+ } else {
628
+ self.browse_button.button('enable').show();
629
+ self.uploader.disableBrowse(false);
630
+ }
631
+
632
+ if (!value.start) {
633
+ self.start_button.button('disable').hide();
634
+ } else {
635
+ self.start_button.button('enable').show();
636
+ }
637
+
638
+ if (!value.stop) {
639
+ self.stop_button.button('disable').hide();
640
+ } else {
641
+ self.start_button.button('enable').show();
642
+ }
643
+ }
644
+
645
+ self.uploader.settings[key] = value;
646
+ },
647
+
648
+
649
+ /**
650
+ Start upload. Triggers `start` event.
651
+
652
+ @method start
653
+ */
654
+ start: function() {
655
+ this.uploader.start();
656
+ this._trigger('start', null, { up: this.uploader });
657
+ },
658
+
659
+
660
+ /**
661
+ Stop upload. Triggers `stop` event.
662
+
663
+ @method stop
664
+ */
665
+ stop: function() {
666
+ this.uploader.stop();
667
+ this._trigger('stop', null, { up: this.uploader });
668
+ },
669
+
670
+
671
+ /**
672
+ Enable browse button.
673
+
674
+ @method enable
675
+ */
676
+ enable: function() {
677
+ this.browse_button.button('enable');
678
+ this.uploader.disableBrowse(false);
679
+ },
680
+
681
+
682
+ /**
683
+ Disable browse button.
684
+
685
+ @method disable
686
+ */
687
+ disable: function() {
688
+ this.browse_button.button('disable');
689
+ this.uploader.disableBrowse(true);
690
+ },
691
+
692
+
693
+ /**
694
+ Retrieve file by it's unique id.
695
+
696
+ @method getFile
697
+ @param {String} id Unique id of the file
698
+ @return {plupload.File}
699
+ */
700
+ getFile: function(id) {
701
+ var file;
702
+
703
+ if (typeof id === 'number') {
704
+ file = this.uploader.files[id];
705
+ } else {
706
+ file = this.uploader.getFile(id);
707
+ }
708
+ return file;
709
+ },
710
+
711
+ /**
712
+ Return array of files currently in the queue.
713
+
714
+ @method getFiles
715
+ @return {Array} Array of files in the queue represented by plupload.File objects
716
+ */
717
+ getFiles: function() {
718
+ return this.uploader.files;
719
+ },
720
+
721
+
722
+ /**
723
+ Remove the file from the queue.
724
+
725
+ @method removeFile
726
+ @param {plupload.File|String} file File to remove, might be specified directly or by it's unique id
727
+ */
728
+ removeFile: function(file) {
729
+ if (plupload.typeOf(file) === 'string') {
730
+ file = this.getFile(file);
731
+ }
732
+ this.uploader.removeFile(file);
733
+ },
734
+
735
+
736
+ /**
737
+ Clear the file queue.
738
+
739
+ @method clearQueue
740
+ */
741
+ clearQueue: function() {
742
+ this.uploader.splice();
743
+ },
744
+
745
+
746
+ /**
747
+ Retrieve internal plupload.Uploader object (usually not required).
748
+
749
+ @method getUploader
750
+ @return {plupload.Uploader}
751
+ */
752
+ getUploader: function() {
753
+ return this.uploader;
754
+ },
755
+
756
+
757
+ /**
758
+ Trigger refresh procedure, specifically browse_button re-measure and re-position operations.
759
+ Might get handy, when UI Widget is placed within the popup, that is constantly hidden and shown
760
+ again - without calling this method after each show operation, dialog trigger might get displaced
761
+ and disfunctional.
762
+
763
+ @method refresh
764
+ */
765
+ refresh: function() {
766
+ this.uploader.refresh();
767
+ },
768
+
769
+
770
+ /**
771
+ Display a message in notification area.
772
+
773
+ @method notify
774
+ @param {Enum} type Type of the message, either `error` or `info`
775
+ @param {String} message The text message to display.
776
+ */
777
+ notify: function(type, message) {
778
+ var popup = $(
779
+ '<div class="plupload_message">' +
780
+ '<span class="plupload_message_close ui-icon ui-icon-circle-close" title="'+_('Close')+'"></span>' +
781
+ '<p><span class="ui-icon"></span>' + message + '</p>' +
782
+ '</div>'
783
+ );
784
+
785
+ popup
786
+ .addClass('ui-state-' + (type === 'error' ? 'error' : 'highlight'))
787
+ .find('p .ui-icon')
788
+ .addClass('ui-icon-' + (type === 'error' ? 'alert' : 'info'))
789
+ .end()
790
+ .find('.plupload_message_close')
791
+ .click(function() {
792
+ popup.remove();
793
+ })
794
+ .end();
795
+
796
+ $('.plupload_header', this.container).append(popup);
797
+ },
798
+
799
+
800
+ /**
801
+ Destroy the widget, the uploader, free associated resources and bring back original html.
802
+
803
+ @method destroy
804
+ */
805
+ destroy: function() {
806
+ // destroy uploader instance
807
+ this.uploader.destroy();
808
+
809
+ // unbind all button events
810
+ $('.plupload_button', this.element).unbind();
811
+
812
+ // destroy buttons
813
+ if ($.ui.button) {
814
+ $('.plupload_add, .plupload_start, .plupload_stop', this.container)
815
+ .button('destroy');
816
+ }
817
+
818
+ // destroy progressbar
819
+ if ($.ui.progressbar) {
820
+ this.progressbar.progressbar('destroy');
821
+ }
822
+
823
+ // destroy sortable behavior
824
+ if ($.ui.sortable && this.options.sortable) {
825
+ $('tbody', this.filelist).sortable('destroy');
826
+ }
827
+
828
+ // restore the elements initial state
829
+ this.element
830
+ .empty()
831
+ .html(this.contents_bak);
832
+ this.contents_bak = '';
833
+
834
+ $.Widget.prototype.destroy.apply(this);
835
+ },
836
+
837
+
838
+ _handleState: function() {
839
+ var up = this.uploader
840
+ , filesPending = up.files.length - (up.total.uploaded + up.total.failed)
841
+ , maxCount = up.getOption('filters').max_file_count || 0
842
+ ;
843
+
844
+ if (plupload.STARTED === up.state) {
845
+ $([])
846
+ .add(this.stop_button)
847
+ .add('.plupload_started')
848
+ .removeClass('plupload_hidden');
849
+
850
+ this.start_button.button('disable');
851
+
852
+ if (!this.options.multiple_queues) {
853
+ this.browse_button.button('disable');
854
+ up.disableBrowse();
855
+ }
856
+
857
+ $('.plupload_upload_status', this.element).html(o.sprintf(_('Uploaded %d/%d files'), up.total.uploaded, up.files.length));
858
+ $('.plupload_header_content', this.element).addClass('plupload_header_content_bw');
859
+ }
860
+ else if (plupload.STOPPED === up.state) {
861
+ $([])
862
+ .add(this.stop_button)
863
+ .add('.plupload_started')
864
+ .addClass('plupload_hidden');
865
+
866
+ if (filesPending) {
867
+ this.start_button.button('enable');
868
+ } else {
869
+ this.start_button.button('disable');
870
+ }
871
+
872
+ if (this.options.multiple_queues) {
873
+ $('.plupload_header_content', this.element).removeClass('plupload_header_content_bw');
874
+ }
875
+
876
+ // if max_file_count defined, only that many files can be queued at once
877
+ if (this.options.multiple_queues && maxCount && maxCount > filesPending) {
878
+ this.browse_button.button('enable');
879
+ up.disableBrowse(false);
880
+ }
881
+
882
+ this._updateTotalProgress();
883
+ }
884
+
885
+ if (up.total.queued === 0) {
886
+ $('.ui-button-text', this.browse_button).html(_('Add Files'));
887
+ } else {
888
+ $('.ui-button-text', this.browse_button).html(o.sprintf(_('%d files queued'), up.total.queued));
889
+ }
890
+
891
+ up.refresh();
892
+ },
893
+
894
+
895
+ _handleFileStatus: function(file) {
896
+ var $file = $('#' + file.id), actionClass, iconClass;
897
+
898
+ // since this method might be called asynchronously, file row might not yet be rendered
899
+ if (!$file.length) {
900
+ return;
901
+ }
902
+
903
+ switch (file.status) {
904
+ case plupload.DONE:
905
+ actionClass = 'plupload_done';
906
+ iconClass = 'plupload_action_icon ui-icon ui-icon-circle-check';
907
+ break;
908
+
909
+ case plupload.FAILED:
910
+ actionClass = 'ui-state-error plupload_failed';
911
+ iconClass = 'plupload_action_icon ui-icon ui-icon-alert';
912
+ break;
913
+
914
+ case plupload.QUEUED:
915
+ actionClass = 'plupload_delete';
916
+ iconClass = 'plupload_action_icon ui-icon ui-icon-circle-minus';
917
+ break;
918
+
919
+ case plupload.UPLOADING:
920
+ actionClass = 'ui-state-highlight plupload_uploading';
921
+ iconClass = 'plupload_action_icon ui-icon ui-icon-circle-arrow-w';
922
+
923
+ // scroll uploading file into the view if its bottom boundary is out of it
924
+ var scroller = $('.plupload_scroll', this.container)
925
+ , scrollTop = scroller.scrollTop()
926
+ , scrollerHeight = scroller.height()
927
+ , rowOffset = $file.position().top + $file.height()
928
+ ;
929
+
930
+ if (scrollerHeight < rowOffset) {
931
+ scroller.scrollTop(scrollTop + rowOffset - scrollerHeight);
932
+ }
933
+
934
+ // Set file specific progress
935
+ $file
936
+ .find('.plupload_file_percent')
937
+ .html(file.percent + '%')
938
+ .end()
939
+ .find('.plupload_file_progress')
940
+ .css('width', file.percent + '%')
941
+ .end()
942
+ .find('.plupload_file_size')
943
+ .html(plupload.formatSize(file.size));
944
+ break;
945
+ }
946
+ actionClass += ' ui-state-default plupload_file';
947
+
948
+ $file
949
+ .attr('class', actionClass)
950
+ .find('.plupload_action_icon')
951
+ .attr('class', iconClass);
952
+ },
953
+
954
+
955
+ _updateTotalProgress: function() {
956
+ var up = this.uploader;
957
+
958
+ // Scroll to end of file list
959
+ this.filelist[0].scrollTop = this.filelist[0].scrollHeight;
960
+
961
+ this.progressbar.progressbar('value', up.total.percent);
962
+
963
+ this.element
964
+ .find('.plupload_total_status')
965
+ .html(up.total.percent + '%')
966
+ .end()
967
+ .find('.plupload_total_file_size')
968
+ .html(plupload.formatSize(up.total.size))
969
+ .end()
970
+ .find('.plupload_upload_status')
971
+ .html(o.sprintf(_('Uploaded %d/%d files'), up.total.uploaded, up.files.length));
972
+ },
973
+
974
+
975
+ _displayThumbs: function() {
976
+ var self = this
977
+ , tw, th // thumb width/height
978
+ , cols
979
+ , num = 0 // number of simultaneously visible thumbs
980
+ , thumbs = [] // array of thumbs to preload at any given moment
981
+ , loading = false
982
+ ;
983
+
984
+ if (!this.options.views.thumbs) {
985
+ return;
986
+ }
987
+
988
+
989
+ function onLast(el, eventName, cb) {
990
+ var timer;
991
+ el.on(eventName, function() {
992
+ clearTimeout(timer);
993
+ timer = setTimeout(function() {
994
+ clearTimeout(timer);
995
+ cb();
996
+ }, 300);
997
+ });
998
+ }
999
+
1000
+
1001
+ // calculate number of simultaneously visible thumbs
1002
+ function measure() {
1003
+ if (!tw || !th) {
1004
+ var wrapper = $('.plupload_file:eq(0)', self.filelist);
1005
+ tw = wrapper.outerWidth(true);
1006
+ th = wrapper.outerHeight(true);
1007
+ }
1008
+
1009
+ var aw = self.content.width(), ah = self.content.height();
1010
+ cols = Math.floor(aw / tw);
1011
+ num = cols * (Math.ceil(ah / th) + 1);
1012
+ }
1013
+
1014
+
1015
+ function pickThumbsToLoad() {
1016
+ // calculate index of virst visible thumb
1017
+ var startIdx = Math.floor(self.content.scrollTop() / th) * cols;
1018
+ // get potentially visible thumbs that are not yet visible
1019
+ thumbs = $('.plupload_file', self.filelist)
1020
+ .slice(startIdx, startIdx + num)
1021
+ .filter('.plupload_file_loading')
1022
+ .get();
1023
+ }
1024
+
1025
+
1026
+ function init() {
1027
+ function mpl() { // measure, pick, load
1028
+ if (self.view_mode !== 'thumbs') {
1029
+ return;
1030
+ }
1031
+ measure();
1032
+ pickThumbsToLoad();
1033
+ lazyLoad();
1034
+ }
1035
+
1036
+ if ($.fn.resizable) {
1037
+ onLast(self.container, 'resize', mpl);
1038
+ }
1039
+
1040
+ self.window == undefined ? onLast(self.container, 'resize', mpl) : onLast(self.window, 'resize', mpl);
1041
+ onLast(self.content, 'scroll', mpl);
1042
+
1043
+ self.element.on('viewchanged selected', mpl);
1044
+
1045
+ mpl();
1046
+ }
1047
+
1048
+
1049
+ function preloadThumb(file, cb) {
1050
+ var img = new o.Image();
1051
+
1052
+ img.onload = function() {
1053
+ var thumb = $('#' + file.id + ' .plupload_file_thumb', self.filelist).html('');
1054
+ this.embed(thumb[0], {
1055
+ width:  self.options.thumb_width,
1056
+ height: self.options.thumb_height,
1057
+ crop: true,
1058
+ swf_url: o.resolveUrl(self.options.flash_swf_url),
1059
+ xap_url: o.resolveUrl(self.options.silverlight_xap_url)
1060
+ });
1061
+ };
1062
+
1063
+ img.bind("embedded error", function() {
1064
+ $('#' + file.id, self.filelist).removeClass('plupload_file_loading');
1065
+ this.destroy();
1066
+ setTimeout(cb, 1); // detach, otherwise ui might hang (in SilverLight for example)
1067
+ });
1068
+
1069
+ img.load(file.getSource());
1070
+ }
1071
+
1072
+
1073
+ function lazyLoad() {
1074
+ if (self.view_mode !== 'thumbs' || loading) {
1075
+ return;
1076
+ }
1077
+
1078
+ pickThumbsToLoad();
1079
+ if (!thumbs.length) {
1080
+ return;
1081
+ }
1082
+
1083
+ loading = true;
1084
+
1085
+ preloadThumb(self.getFile($(thumbs.shift()).attr('id')), function() {
1086
+ loading = false;
1087
+ lazyLoad();
1088
+ });
1089
+ }
1090
+
1091
+ // this has to run only once to measure structures and bind listeners
1092
+ this.element.on('selected', function onselected() {
1093
+ self.element.off('selected', onselected);
1094
+ init();
1095
+ });
1096
+ },
1097
+
1098
+
1099
+ _addFiles: function(files) {
1100
+ var self = this, file_html, html = '';
1101
+
1102
+ file_html = '<li class="plupload_file ui-state-default plupload_file_loading plupload_delete" id="%id%" style="width:%thumb_width%px;">' +
1103
+ '<div class="plupload_file_thumb" style="width:%thumb_width%px;height:%thumb_height%px;">' +
1104
+ '<div class="plupload_file_dummy ui-widget-content" style="line-height:%thumb_height%px;"><span class="ui-state-disabled">%ext% </span></div>' +
1105
+ '</div>' +
1106
+ '<div class="plupload_file_status">' +
1107
+ '<div class="plupload_file_progress ui-widget-header" style="width: 0%"> </div>' +
1108
+ '<span class="plupload_file_percent">%percent% </span>' +
1109
+ '</div>' +
1110
+ '<div class="plupload_file_name" title="%name%">' +
1111
+ '<span class="plupload_file_name_wrapper">%name% </span>' +
1112
+ '</div>' +
1113
+ '<div class="plupload_file_action">' +
1114
+ '<div class="plupload_action_icon ui-icon ui-icon-circle-minus"> </div>' +
1115
+ '</div>' +
1116
+ '<div class="plupload_file_size">%size% </div>' +
1117
+ '<div class="plupload_file_fields"> </div>' +
1118
+ '</li>';
1119
+
1120
+ if (plupload.typeOf(files) !== 'array') {
1121
+ files = [files];
1122
+ }
1123
+
1124
+ $.each(files, function(i, file) {
1125
+ var ext = o.Mime.getFileExtension(file.name) || 'none';
1126
+
1127
+ html += file_html.replace(/%(\w+)%/g, function($0, $1) {
1128
+ switch ($1) {
1129
+ case 'thumb_width':
1130
+ case 'thumb_height':
1131
+ return self.options[$1];
1132
+
1133
+ case 'size':
1134
+ return plupload.formatSize(file.size);
1135
+
1136
+ case 'ext':
1137
+ return ext;
1138
+
1139
+ default:
1140
+ return file[$1] || '';
1141
+ }
1142
+ });
1143
+ });
1144
+
1145
+ self.filelist.append(html);
1146
+ },
1147
+
1148
+
1149
+ _addFormFields: function() {
1150
+ var self = this;
1151
+
1152
+ // re-add from fresh
1153
+ $('.plupload_file_fields', this.filelist).html('');
1154
+
1155
+ plupload.each(this.uploader.files, function(file, count) {
1156
+ var fields = ''
1157
+ , id = self.id + '_' + count
1158
+ ;
1159
+
1160
+ if (file.target_name) {
1161
+ fields += '<input type="hidden" name="' + id + '_tmpname" value="'+plupload.xmlEncode(file.target_name)+'" />';
1162
+ }
1163
+ fields += '<input type="hidden" name="' + id + '_name" value="'+plupload.xmlEncode(file.name)+'" />';
1164
+ fields += '<input type="hidden" name="' + id + '_status" value="' + (file.status === plupload.DONE ? 'done' : 'failed') + '" />';
1165
+
1166
+ $('#' + file.id).find('.plupload_file_fields').html(fields);
1167
+ });
1168
+
1169
+ this.counter.val(this.uploader.files.length);
1170
+ },
1171
+
1172
+
1173
+ _viewChanged: function(view) {
1174
+ // update or write a new cookie
1175
+ if (this.options.views.remember && $.cookie) {
1176
+ $.cookie('plupload_ui_view', view, { expires: 7, path: '/' });
1177
+ }
1178
+
1179
+ // ugly fix for IE6 - make content area stretchable
1180
+ if (o.Env.browser === 'IE' && o.Env.version < 7) {
1181
+ this.content.attr('style', 'height:expression(document.getElementById("' + this.id + '_container' + '").clientHeight - ' + (view === 'list' ? 132 : 102) + ')');
1182
+ }
1183
+
1184
+ this.container.removeClass('plupload_view_list plupload_view_thumbs').addClass('plupload_view_' + view);
1185
+ this.view_mode = view;
1186
+ this._trigger('viewchanged', null, { view: view });
1187
+ },
1188
+
1189
+
1190
+ _enableViewSwitcher: function() {
1191
+ var self = this
1192
+ , view
1193
+ , switcher = $('.plupload_view_switch', this.container)
1194
+ , buttons
1195
+ , button
1196
+ ;
1197
+
1198
+ plupload.each(['list', 'thumbs'], function(view) {
1199
+ if (!self.options.views[view]) {
1200
+ switcher.find('[for="' + self.id + '_view_' + view + '"], #'+ self.id +'_view_' + view).remove();
1201
+ }
1202
+ });
1203
+
1204
+ // check if any visible left
1205
+ buttons = switcher.find('.plupload_button');
1206
+
1207
+ if (buttons.length === 1) {
1208
+ switcher.hide();
1209
+ view = buttons.eq(0).data('view');
1210
+ this._viewChanged(view);
1211
+ } else if ($.ui.button && buttons.length > 1) {
1212
+ if (this.options.views.remember && $.cookie) {
1213
+ view = $.cookie('plupload_ui_view');
1214
+ }
1215
+
1216
+ // if wierd case, bail out to default
1217
+ if (!~plupload.inArray(view, ['list', 'thumbs'])) {
1218
+ view = this.options.views.active;
1219
+ }
1220
+
1221
+ switcher
1222
+ .show()
1223
+ .buttonset()
1224
+ .find('.ui-button')
1225
+ .click(function(e) {
1226
+ view = $(this).data('view');
1227
+ self._viewChanged(view);
1228
+ e.preventDefault(); // avoid auto scrolling to widget in IE and FF (see #850)
1229
+ });
1230
+
1231
+ // if view not active - happens when switcher wasn't clicked manually
1232
+ button = switcher.find('[for="' + self.id + '_view_'+view+'"]');
1233
+ if (button.length) {
1234
+ button.trigger('click');
1235
+ }
1236
+ } else {
1237
+ switcher.show();
1238
+ this._viewChanged(this.options.views.active);
1239
+ }
1240
+
1241
+ // initialize thumb viewer if requested
1242
+ if (this.options.views.thumbs) {
1243
+ this._displayThumbs();
1244
+ }
1245
+ },
1246
+
1247
+
1248
+ _enableRenaming: function() {
1249
+ var self = this;
1250
+
1251
+ this.filelist.dblclick(function(e) {
1252
+ var nameSpan = $(e.target), nameInput, file, parts, name, ext = "";
1253
+
1254
+ if (!nameSpan.hasClass('plupload_file_name_wrapper')) {
1255
+ return;
1256
+ }
1257
+
1258
+ // Get file name and split out name and extension
1259
+ file = self.uploader.getFile(nameSpan.closest('.plupload_file')[0].id);
1260
+ name = file.name;
1261
+ parts = /^(.+)(\.[^.]+)$/.exec(name);
1262
+ if (parts) {
1263
+ name = parts[1];
1264
+ ext = parts[2];
1265
+ }
1266
+
1267
+ // Display input element
1268
+ nameInput = $('<input class="plupload_file_rename" type="text" />').width(nameSpan.width()).insertAfter(nameSpan.hide());
1269
+ nameInput.val(name).blur(function() {
1270
+ nameSpan.show().parent().scrollLeft(0).end().next().remove();
1271
+ }).keydown(function(e) {
1272
+ var nameInput = $(this);
1273
+
1274
+ if ($.inArray(e.keyCode, [13, 27]) !== -1) {
1275
+ e.preventDefault();
1276
+
1277
+ // Rename file and glue extension back on
1278
+ if (e.keyCode === 13) {
1279
+ file.name = nameInput.val() + ext;
1280
+ nameSpan.html(file.name);
1281
+ }
1282
+ nameInput.blur();
1283
+ }
1284
+ })[0].focus();
1285
+ });
1286
+ },
1287
+
1288
+
1289
+ _enableSortingList: function() {
1290
+ var self = this;
1291
+
1292
+ if ($('.plupload_file', this.filelist).length < 2) {
1293
+ return;
1294
+ }
1295
+
1296
+ // destroy sortable if enabled
1297
+ $('tbody', this.filelist).sortable('destroy');
1298
+
1299
+ // enable
1300
+ this.filelist.sortable({
1301
+ items: '.plupload_delete',
1302
+
1303
+ cancel: 'object, .plupload_clearer',
1304
+
1305
+ stop: function() {
1306
+ var files = [];
1307
+
1308
+ $.each($(this).sortable('toArray'), function(i, id) {
1309
+ files[files.length] = self.uploader.getFile(id);
1310
+ });
1311
+
1312
+ files.unshift(files.length);
1313
+ files.unshift(0);
1314
+
1315
+ // re-populate files array
1316
+ Array.prototype.splice.apply(self.uploader.files, files);
1317
+ }
1318
+ });
1319
+ }
1320
+ });
1321
+
1322
+ } (window, document, plupload, mOxie, jQuery));
assets/js/plupload.full.min.js CHANGED
@@ -1,6 +1,6 @@
1
  /**
2
  * mOxie - multi-runtime File API & XMLHttpRequest L2 Polyfill
3
- * v1.2.0
4
  *
5
  * Copyright 2013, Moxiecode Systems AB
6
  * Released under GPL License.
@@ -8,2433 +8,14 @@
8
  * License: http://www.plupload.com/license
9
  * Contributing: http://www.plupload.com/contributing
10
  *
11
- * Date: 2014-01-16
12
  */
13
- !function (e, t) {
14
- "use strict";
15
- function n(e, t) {
16
- for (var n, i = [], r = 0; r < e.length; ++r) {
17
- if (n = s[e[r]] || o(e[r]), !n)throw"module definition dependecy not found: " + e[r];
18
- i.push(n)
19
- }
20
- t.apply(null, i)
21
- }
22
-
23
- function i(e, i, r) {
24
- if ("string" != typeof e)throw"invalid module definition, module id must be defined and be a string";
25
- if (i === t)throw"invalid module definition, dependencies must be specified";
26
- if (r === t)throw"invalid module definition, definition function must be specified";
27
- n(i, function () {
28
- s[e] = r.apply(null, arguments)
29
- })
30
- }
31
-
32
- function r(e) {
33
- return!!s[e]
34
- }
35
-
36
- function o(t) {
37
- for (var n = e, i = t.split(/[.\/]/), r = 0; r < i.length; ++r) {
38
- if (!n[i[r]])return;
39
- n = n[i[r]]
40
- }
41
- return n
42
- }
43
-
44
- function a(n) {
45
- for (var i = 0; i < n.length; i++) {
46
- for (var r = e, o = n[i], a = o.split(/[.\/]/), u = 0; u < a.length - 1; ++u)r[a[u]] === t && (r[a[u]] = {}), r = r[a[u]];
47
- r[a[a.length - 1]] = s[o]
48
- }
49
- }
50
-
51
- var s = {}, u = "moxie/core/utils/Basic", c = "moxie/core/I18n", l = "moxie/core/utils/Mime", d = "moxie/core/utils/Env", f = "moxie/core/utils/Dom", p = "moxie/core/Exceptions", h = "moxie/core/EventTarget", m = "moxie/core/utils/Encode", g = "moxie/runtime/Runtime", v = "moxie/runtime/RuntimeClient", y = "moxie/file/Blob", w = "moxie/file/File", E = "moxie/file/FileInput", _ = "moxie/file/FileDrop", x = "moxie/runtime/RuntimeTarget", R = "moxie/file/FileReader", b = "moxie/core/utils/Url", T = "moxie/file/FileReaderSync", S = "moxie/xhr/FormData", A = "moxie/xhr/XMLHttpRequest", O = "moxie/runtime/Transporter", I = "moxie/image/Image", D = "moxie/runtime/html5/Runtime", N = "moxie/runtime/html5/file/Blob", L = "moxie/core/utils/Events", M = "moxie/runtime/html5/file/FileInput", C = "moxie/runtime/html5/file/FileDrop", F = "moxie/runtime/html5/file/FileReader", H = "moxie/runtime/html5/xhr/XMLHttpRequest", P = "moxie/runtime/html5/utils/BinaryReader", k = "moxie/runtime/html5/image/JPEGHeaders", U = "moxie/runtime/html5/image/ExifParser", B = "moxie/runtime/html5/image/JPEG", z = "moxie/runtime/html5/image/PNG", G = "moxie/runtime/html5/image/ImageInfo", q = "moxie/runtime/html5/image/MegaPixel", X = "moxie/runtime/html5/image/Image", j = "moxie/runtime/flash/Runtime", V = "moxie/runtime/flash/file/Blob", W = "moxie/runtime/flash/file/FileInput", Y = "moxie/runtime/flash/file/FileReader", $ = "moxie/runtime/flash/file/FileReaderSync", J = "moxie/runtime/flash/xhr/XMLHttpRequest", Z = "moxie/runtime/flash/runtime/Transporter", K = "moxie/runtime/flash/image/Image", Q = "moxie/runtime/silverlight/Runtime", et = "moxie/runtime/silverlight/file/Blob", tt = "moxie/runtime/silverlight/file/FileInput", nt = "moxie/runtime/silverlight/file/FileDrop", it = "moxie/runtime/silverlight/file/FileReader", rt = "moxie/runtime/silverlight/file/FileReaderSync", ot = "moxie/runtime/silverlight/xhr/XMLHttpRequest", at = "moxie/runtime/silverlight/runtime/Transporter", st = "moxie/runtime/silverlight/image/Image", ut = "moxie/runtime/html4/Runtime", ct = "moxie/runtime/html4/file/FileInput", lt = "moxie/runtime/html4/file/FileReader", dt = "moxie/runtime/html4/xhr/XMLHttpRequest", ft = "moxie/runtime/html4/image/Image";
52
- i(u, [], function () {
53
- var e = function (e) {
54
- var t;
55
- return e === t ? "undefined" : null === e ? "null" : e.nodeType ? "node" : {}.toString.call(e).match(/\s([a-z|A-Z]+)/)[1].toLowerCase()
56
- }, t = function (i) {
57
- var r;
58
- return n(arguments, function (o, s) {
59
- s > 0 && n(o, function (n, o) {
60
- n !== r && (e(i[o]) === e(n) && ~a(e(n), ["array", "object"]) ? t(i[o], n) : i[o] = n)
61
- })
62
- }), i
63
- }, n = function (e, t) {
64
- var n, i, r, o;
65
- if (e) {
66
- try {
67
- n = e.length
68
- } catch (a) {
69
- n = o
70
- }
71
- if (n === o) {
72
- for (i in e)if (e.hasOwnProperty(i) && t(e[i], i) === !1)return
73
- } else for (r = 0; n > r; r++)if (t(e[r], r) === !1)return
74
- }
75
- }, i = function (t) {
76
- var n;
77
- if (!t || "object" !== e(t))return!0;
78
- for (n in t)return!1;
79
- return!0
80
- }, r = function (t, n) {
81
- function i(r) {
82
- "function" === e(t[r]) && t[r](function (e) {
83
- ++r < o && !e ? i(r) : n(e)
84
- })
85
- }
86
-
87
- var r = 0, o = t.length;
88
- "function" !== e(n) && (n = function () {
89
- }), t && t.length || n(), i(r)
90
- }, o = function (e, t) {
91
- var i = 0, r = e.length, o = new Array(r);
92
- n(e, function (e, n) {
93
- e(function (e) {
94
- if (e)return t(e);
95
- var a = [].slice.call(arguments);
96
- a.shift(), o[n] = a, i++, i === r && (o.unshift(null), t.apply(this, o))
97
- })
98
- })
99
- }, a = function (e, t) {
100
- if (t) {
101
- if (Array.prototype.indexOf)return Array.prototype.indexOf.call(t, e);
102
- for (var n = 0, i = t.length; i > n; n++)if (t[n] === e)return n
103
- }
104
- return-1
105
- }, s = function (t, n) {
106
- var i = [];
107
- "array" !== e(t) && (t = [t]), "array" !== e(n) && (n = [n]);
108
- for (var r in t)-1 === a(t[r], n) && i.push(t[r]);
109
- return i.length ? i : !1
110
- }, u = function (e, t) {
111
- var i = [];
112
- return n(e, function (e) {
113
- -1 !== a(e, t) && i.push(e)
114
- }), i.length ? i : null
115
- }, c = function (e) {
116
- var t, n = [];
117
- for (t = 0; t < e.length; t++)n[t] = e[t];
118
- return n
119
- }, l = function () {
120
- var e = 0;
121
- return function (t) {
122
- var n = (new Date).getTime().toString(32), i;
123
- for (i = 0; 5 > i; i++)n += Math.floor(65535 * Math.random()).toString(32);
124
- return(t || "o_") + n + (e++).toString(32)
125
- }
126
- }(), d = function (e) {
127
- return e ? String.prototype.trim ? String.prototype.trim.call(e) : e.toString().replace(/^\s*/, "").replace(/\s*$/, "") : e
128
- }, f = function (e) {
129
- if ("string" != typeof e)return e;
130
- var t = {t: 1099511627776, g: 1073741824, m: 1048576, k: 1024}, n;
131
- return e = /^([0-9]+)([mgk]?)$/.exec(e.toLowerCase().replace(/[^0-9mkg]/g, "")), n = e[2], e = +e[1], t.hasOwnProperty(n) && (e *= t[n]), e
132
- };
133
- return{guid: l, typeOf: e, extend: t, each: n, isEmptyObj: i, inSeries: r, inParallel: o, inArray: a, arrayDiff: s, arrayIntersect: u, toArray: c, trim: d, parseSizeStr: f}
134
- }), i(c, [u], function (e) {
135
- var t = {};
136
- return{addI18n: function (n) {
137
- return e.extend(t, n)
138
- }, translate: function (e) {
139
- return t[e] || e
140
- }, _: function (e) {
141
- return this.translate(e)
142
- }, sprintf: function (t) {
143
- var n = [].slice.call(arguments, 1);
144
- return t.replace(/%[a-z]/g, function () {
145
- var t = n.shift();
146
- return"undefined" !== e.typeOf(t) ? t : ""
147
- })
148
- }}
149
- }), i(l, [u, c], function (e, t) {
150
- var n = "application/msword,doc dot,application/pdf,pdf,application/pgp-signature,pgp,application/postscript,ps ai eps,application/rtf,rtf,application/vnd.ms-excel,xls xlb,application/vnd.ms-powerpoint,ppt pps pot,application/zip,zip,application/x-shockwave-flash,swf swfl,application/vnd.openxmlformats-officedocument.wordprocessingml.document,docx,application/vnd.openxmlformats-officedocument.wordprocessingml.template,dotx,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,xlsx,application/vnd.openxmlformats-officedocument.presentationml.presentation,pptx,application/vnd.openxmlformats-officedocument.presentationml.template,potx,application/vnd.openxmlformats-officedocument.presentationml.slideshow,ppsx,application/x-javascript,js,application/json,json,audio/mpeg,mp3 mpga mpega mp2,audio/x-wav,wav,audio/x-m4a,m4a,audio/ogg,oga ogg,audio/aiff,aiff aif,audio/flac,flac,audio/aac,aac,audio/ac3,ac3,audio/x-ms-wma,wma,image/bmp,bmp,image/gif,gif,image/jpeg,jpg jpeg jpe,image/photoshop,psd,image/png,png,image/svg+xml,svg svgz,image/tiff,tiff tif,text/plain,asc txt text diff log,text/html,htm html xhtml,text/css,css,text/csv,csv,text/rtf,rtf,video/mpeg,mpeg mpg mpe m2v,video/quicktime,qt mov,video/mp4,mp4,video/x-m4v,m4v,video/x-flv,flv,video/x-ms-wmv,wmv,video/avi,avi,video/webm,webm,video/3gpp,3gpp 3gp,video/3gpp2,3g2,video/vnd.rn-realvideo,rv,video/ogg,ogv,video/x-matroska,mkv,application/vnd.oasis.opendocument.formula-template,otf,application/octet-stream,exe", i = {mimes: {}, extensions: {}, addMimeType: function (e) {
151
- var t = e.split(/,/), n, i, r;
152
- for (n = 0; n < t.length; n += 2) {
153
- for (r = t[n + 1].split(/ /), i = 0; i < r.length; i++)this.mimes[r[i]] = t[n];
154
- this.extensions[t[n]] = r
155
- }
156
- }, extList2mimes: function (t, n) {
157
- var i = this, r, o, a, s, u = [];
158
- for (o = 0; o < t.length; o++)for (r = t[o].extensions.split(/\s*,\s*/), a = 0; a < r.length; a++) {
159
- if ("*" === r[a])return[];
160
- if (s = i.mimes[r[a]])-1 === e.inArray(s, u) && u.push(s); else {
161
- if (!n || !/^\w+$/.test(r[a]))return[];
162
- u.push("." + r[a])
163
- }
164
- }
165
- return u
166
- }, mimes2exts: function (t) {
167
- var n = this, i = [];
168
- return e.each(t, function (t) {
169
- if ("*" === t)return i = [], !1;
170
- var r = t.match(/^(\w+)\/(\*|\w+)$/);
171
- r && ("*" === r[2] ? e.each(n.extensions, function (e, t) {
172
- new RegExp("^" + r[1] + "/").test(t) && [].push.apply(i, n.extensions[t])
173
- }) : n.extensions[t] && [].push.apply(i, n.extensions[t]))
174
- }), i
175
- }, mimes2extList: function (n) {
176
- var i = [], r = [];
177
- return"string" === e.typeOf(n) && (n = e.trim(n).split(/\s*,\s*/)), r = this.mimes2exts(n), i.push({title: t.translate("Files"), extensions: r.length ? r.join(",") : "*"}), i.mimes = n, i
178
- }, getFileExtension: function (e) {
179
- var t = e && e.match(/\.([^.]+)$/);
180
- return t ? t[1].toLowerCase() : ""
181
- }, getFileMime: function (e) {
182
- return this.mimes[this.getFileExtension(e)] || ""
183
- }};
184
- return i.addMimeType(n), i
185
- }), i(d, [u], function (e) {
186
- function t(e, t, n) {
187
- var i = 0, r = 0, o = 0, a = {dev: -6, alpha: -5, a: -5, beta: -4, b: -4, RC: -3, rc: -3, "#": -2, p: 1, pl: 1}, s = function (e) {
188
- return e = ("" + e).replace(/[_\-+]/g, "."), e = e.replace(/([^.\d]+)/g, ".$1.").replace(/\.{2,}/g, "."), e.length ? e.split(".") : [-8]
189
- }, u = function (e) {
190
- return e ? isNaN(e) ? a[e] || -7 : parseInt(e, 10) : 0
191
- };
192
- for (e = s(e), t = s(t), r = Math.max(e.length, t.length), i = 0; r > i; i++)if (e[i] != t[i]) {
193
- if (e[i] = u(e[i]), t[i] = u(t[i]), e[i] < t[i]) {
194
- o = -1;
195
- break
196
- }
197
- if (e[i] > t[i]) {
198
- o = 1;
199
- break
200
- }
201
- }
202
- if (!n)return o;
203
- switch (n) {
204
- case">":
205
- case"gt":
206
- return o > 0;
207
- case">=":
208
- case"ge":
209
- return o >= 0;
210
- case"<=":
211
- case"le":
212
- return 0 >= o;
213
- case"==":
214
- case"=":
215
- case"eq":
216
- return 0 === o;
217
- case"<>":
218
- case"!=":
219
- case"ne":
220
- return 0 !== o;
221
- case"":
222
- case"<":
223
- case"lt":
224
- return 0 > o;
225
- default:
226
- return null
227
- }
228
- }
229
-
230
- var n = function (e) {
231
- var t = "", n = "?", i = "function", r = "undefined", o = "object", a = "major", s = "model", u = "name", c = "type", l = "vendor", d = "version", f = "architecture", p = "console", h = "mobile", m = "tablet", g = {has: function (e, t) {
232
- return-1 !== t.toLowerCase().indexOf(e.toLowerCase())
233
- }, lowerize: function (e) {
234
- return e.toLowerCase()
235
- }}, v = {rgx: function () {
236
- for (var t, n = 0, a, s, u, c, l, d, f = arguments; n < f.length; n += 2) {
237
- var p = f[n], h = f[n + 1];
238
- if (typeof t === r) {
239
- t = {};
240
- for (u in h)c = h[u], typeof c === o ? t[c[0]] = e : t[c] = e
241
- }
242
- for (a = s = 0; a < p.length; a++)if (l = p[a].exec(this.getUA())) {
243
- for (u = 0; u < h.length; u++)d = l[++s], c = h[u], typeof c === o && c.length > 0 ? 2 == c.length ? t[c[0]] = typeof c[1] == i ? c[1].call(this, d) : c[1] : 3 == c.length ? t[c[0]] = typeof c[1] !== i || c[1].exec && c[1].test ? d ? d.replace(c[1], c[2]) : e : d ? c[1].call(this, d, c[2]) : e : 4 == c.length && (t[c[0]] = d ? c[3].call(this, d.replace(c[1], c[2])) : e) : t[c] = d ? d : e;
244
- break
245
- }
246
- if (l)break
247
- }
248
- return t
249
- }, str: function (t, i) {
250
- for (var r in i)if (typeof i[r] === o && i[r].length > 0) {
251
- for (var a = 0; a < i[r].length; a++)if (g.has(i[r][a], t))return r === n ? e : r
252
- } else if (g.has(i[r], t))return r === n ? e : r;
253
- return t
254
- }}, y = {browser: {oldsafari: {major: {1: ["/8", "/1", "/3"], 2: "/4", "?": "/"}, version: {"1.0": "/8", 1.2: "/1", 1.3: "/3", "2.0": "/412", "2.0.2": "/416", "2.0.3": "/417", "2.0.4": "/419", "?": "/"}}}, device: {sprint: {model: {"Evo Shift 4G": "7373KT"}, vendor: {HTC: "APA", Sprint: "Sprint"}}}, os: {windows: {version: {ME: "4.90", "NT 3.11": "NT3.51", "NT 4.0": "NT4.0", 2000: "NT 5.0", XP: ["NT 5.1", "NT 5.2"], Vista: "NT 6.0", 7: "NT 6.1", 8: "NT 6.2", 8.1: "NT 6.3", RT: "ARM"}}}}, w = {browser: [
255
- [/(opera\smini)\/((\d+)?[\w\.-]+)/i, /(opera\s[mobiletab]+).+version\/((\d+)?[\w\.-]+)/i, /(opera).+version\/((\d+)?[\w\.]+)/i, /(opera)[\/\s]+((\d+)?[\w\.]+)/i],
256
- [u, d, a],
257
- [/\s(opr)\/((\d+)?[\w\.]+)/i],
258
- [
259
- [u, "Opera"],
260
- d,
261
- a
262
- ],
263
- [/(kindle)\/((\d+)?[\w\.]+)/i, /(lunascape|maxthon|netfront|jasmine|blazer)[\/\s]?((\d+)?[\w\.]+)*/i, /(avant\s|iemobile|slim|baidu)(?:browser)?[\/\s]?((\d+)?[\w\.]*)/i, /(?:ms|\()(ie)\s((\d+)?[\w\.]+)/i, /(rekonq)((?:\/)[\w\.]+)*/i, /(chromium|flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron)\/((\d+)?[\w\.-]+)/i],
264
- [u, d, a],
265
- [/(trident).+rv[:\s]((\d+)?[\w\.]+).+like\sgecko/i],
266
- [
267
- [u, "IE"],
268
- d,
269
- a
270
- ],
271
- [/(yabrowser)\/((\d+)?[\w\.]+)/i],
272
- [
273
- [u, "Yandex"],
274
- d,
275
- a
276
- ],
277
- [/(comodo_dragon)\/((\d+)?[\w\.]+)/i],
278
- [
279
- [u, /_/g, " "],
280
- d,
281
- a
282
- ],
283
- [/(chrome|omniweb|arora|[tizenoka]{5}\s?browser)\/v?((\d+)?[\w\.]+)/i],
284
- [u, d, a],
285
- [/(dolfin)\/((\d+)?[\w\.]+)/i],
286
- [
287
- [u, "Dolphin"],
288
- d,
289
- a
290
- ],
291
- [/((?:android.+)crmo|crios)\/((\d+)?[\w\.]+)/i],
292
- [
293
- [u, "Chrome"],
294
- d,
295
- a
296
- ],
297
- [/((?:android.+))version\/((\d+)?[\w\.]+)\smobile\ssafari/i],
298
- [
299
- [u, "Android Browser"],
300
- d,
301
- a
302
- ],
303
- [/version\/((\d+)?[\w\.]+).+?mobile\/\w+\s(safari)/i],
304
- [d, a, [u, "Mobile Safari"]],
305
- [/version\/((\d+)?[\w\.]+).+?(mobile\s?safari|safari)/i],
306
- [d, a, u],
307
- [/webkit.+?(mobile\s?safari|safari)((\/[\w\.]+))/i],
308
- [u, [a, v.str, y.browser.oldsafari.major], [d, v.str, y.browser.oldsafari.version]],
309
- [/(konqueror)\/((\d+)?[\w\.]+)/i, /(webkit|khtml)\/((\d+)?[\w\.]+)/i],
310
- [u, d, a],
311
- [/(navigator|netscape)\/((\d+)?[\w\.-]+)/i],
312
- [
313
- [u, "Netscape"],
314
- d,
315
- a
316
- ],
317
- [/(swiftfox)/i, /(icedragon|iceweasel|camino|chimera|fennec|maemo\sbrowser|minimo|conkeror)[\/\s]?((\d+)?[\w\.\+]+)/i, /(firefox|seamonkey|k-meleon|icecat|iceape|firebird|phoenix)\/((\d+)?[\w\.-]+)/i, /(mozilla)\/((\d+)?[\w\.]+).+rv\:.+gecko\/\d+/i, /(uc\s?browser|polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|qqbrowser)[\/\s]?((\d+)?[\w\.]+)/i, /(links)\s\(((\d+)?[\w\.]+)/i, /(gobrowser)\/?((\d+)?[\w\.]+)*/i, /(ice\s?browser)\/v?((\d+)?[\w\._]+)/i, /(mosaic)[\/\s]((\d+)?[\w\.]+)/i],
318
- [u, d, a]
319
- ], engine: [
320
- [/(presto)\/([\w\.]+)/i, /(webkit|trident|netfront|netsurf|amaya|lynx|w3m)\/([\w\.]+)/i, /(khtml|tasman|links)[\/\s]\(?([\w\.]+)/i, /(icab)[\/\s]([23]\.[\d\.]+)/i],
321
- [u, d],
322
- [/rv\:([\w\.]+).*(gecko)/i],
323
- [d, u]
324
- ], os: [
325
- [/(windows)\snt\s6\.2;\s(arm)/i, /(windows\sphone(?:\sos)*|windows\smobile|windows)[\s\/]?([ntce\d\.\s]+\w)/i],
326
- [u, [d, v.str, y.os.windows.version]],
327
- [/(win(?=3|9|n)|win\s9x\s)([nt\d\.]+)/i],
328
- [
329
- [u, "Windows"],
330
- [d, v.str, y.os.windows.version]
331
- ],
332
- [/\((bb)(10);/i],
333
- [
334
- [u, "BlackBerry"],
335
- d
336
- ],
337
- [/(blackberry)\w*\/?([\w\.]+)*/i, /(tizen)\/([\w\.]+)/i, /(android|webos|palm\os|qnx|bada|rim\stablet\sos|meego)[\/\s-]?([\w\.]+)*/i],
338
- [u, d],
339
- [/(symbian\s?os|symbos|s60(?=;))[\/\s-]?([\w\.]+)*/i],
340
- [
341
- [u, "Symbian"],
342
- d
343
- ],
344
- [/mozilla.+\(mobile;.+gecko.+firefox/i],
345
- [
346
- [u, "Firefox OS"],
347
- d
348
- ],
349
- [/(nintendo|playstation)\s([wids3portablevu]+)/i, /(mint)[\/\s\(]?(\w+)*/i, /(joli|[kxln]?ubuntu|debian|[open]*suse|gentoo|arch|slackware|fedora|mandriva|centos|pclinuxos|redhat|zenwalk)[\/\s-]?([\w\.-]+)*/i, /(hurd|linux)\s?([\w\.]+)*/i, /(gnu)\s?([\w\.]+)*/i],
350
- [u, d],
351
- [/(cros)\s[\w]+\s([\w\.]+\w)/i],
352
- [
353
- [u, "Chromium OS"],
354
- d
355
- ],
356
- [/(sunos)\s?([\w\.]+\d)*/i],
357
- [
358
- [u, "Solaris"],
359
- d
360
- ],
361
- [/\s([frentopc-]{0,4}bsd|dragonfly)\s?([\w\.]+)*/i],
362
- [u, d],
363
- [/(ip[honead]+)(?:.*os\s*([\w]+)*\slike\smac|;\sopera)/i],
364
- [
365
- [u, "iOS"],
366
- [d, /_/g, "."]
367
- ],
368
- [/(mac\sos\sx)\s?([\w\s\.]+\w)*/i],
369
- [u, [d, /_/g, "."]],
370
- [/(haiku)\s(\w+)/i, /(aix)\s((\d)(?=\.|\)|\s)[\w\.]*)*/i, /(macintosh|mac(?=_powerpc)|plan\s9|minix|beos|os\/2|amigaos|morphos|risc\sos)/i, /(unix)\s?([\w\.]+)*/i],
371
- [u, d]
372
- ]}, E = function (e) {
373
- var n = e || (window && window.navigator && window.navigator.userAgent ? window.navigator.userAgent : t);
374
- this.getBrowser = function () {
375
- return v.rgx.apply(this, w.browser)
376
- }, this.getEngine = function () {
377
- return v.rgx.apply(this, w.engine)
378
- }, this.getOS = function () {
379
- return v.rgx.apply(this, w.os)
380
- }, this.getResult = function () {
381
- return{ua: this.getUA(), browser: this.getBrowser(), engine: this.getEngine(), os: this.getOS()}
382
- }, this.getUA = function () {
383
- return n
384
- }, this.setUA = function (e) {
385
- return n = e, this
386
- }, this.setUA(n)
387
- };
388
- return(new E).getResult()
389
- }(), i = function () {
390
- var t = {define_property: function () {
391
- return!1
392
- }(), create_canvas: function () {
393
- var e = document.createElement("canvas");
394
- return!(!e.getContext || !e.getContext("2d"))
395
- }(), return_response_type: function (t) {
396
- try {
397
- if (-1 !== e.inArray(t, ["", "text", "document"]))return!0;
398
- if (window.XMLHttpRequest) {
399
- var n = new XMLHttpRequest;
400
- if (n.open("get", "/"), "responseType"in n)return n.responseType = t, n.responseType !== t ? !1 : !0
401
- }
402
- } catch (i) {
403
- }
404
- return!1
405
- }, use_data_uri: function () {
406
- var e = new Image;
407
- return e.onload = function () {
408
- t.use_data_uri = 1 === e.width && 1 === e.height
409
- }, setTimeout(function () {
410
- e.src = "data:image/gif;base64,R0lGODlhAQABAIAAAP8AAAAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw=="
411
- }, 1), !1
412
- }(), use_data_uri_over32kb: function () {
413
- return t.use_data_uri && ("IE" !== r.browser || r.version >= 9)
414
- }, use_data_uri_of: function (e) {
415
- return t.use_data_uri && 33e3 > e || t.use_data_uri_over32kb()
416
- }, use_fileinput: function () {
417
- var e = document.createElement("input");
418
- return e.setAttribute("type", "file"), !e.disabled
419
- }};
420
- return function (n) {
421
- var i = [].slice.call(arguments);
422
- return i.shift(), "function" === e.typeOf(t[n]) ? t[n].apply(this, i) : !!t[n]
423
- }
424
- }(), r = {can: i, browser: n.browser.name, version: parseFloat(n.browser.major), os: n.os.name, osVersion: n.os.version, verComp: t, swf_url: "../flash/Moxie.swf", xap_url: "../silverlight/Moxie.xap", global_event_dispatcher: "moxie.core.EventTarget.instance.dispatchEvent"};
425
- return r.OS = r.os, r
426
- }), i(f, [d], function (e) {
427
- var t = function (e) {
428
- return"string" != typeof e ? e : document.getElementById(e)
429
- }, n = function (e, t) {
430
- if (!e.className)return!1;
431
- var n = new RegExp("(^|\\s+)" + t + "(\\s+|$)");
432
- return n.test(e.className)
433
- }, i = function (e, t) {
434
- n(e, t) || (e.className = e.className ? e.className.replace(/\s+$/, "") + " " + t : t)
435
- }, r = function (e, t) {
436
- if (e.className) {
437
- var n = new RegExp("(^|\\s+)" + t + "(\\s+|$)");
438
- e.className = e.className.replace(n, function (e, t, n) {
439
- return" " === t && " " === n ? " " : ""
440
- })
441
- }
442
- }, o = function (e, t) {
443
- return e.currentStyle ? e.currentStyle[t] : window.getComputedStyle ? window.getComputedStyle(e, null)[t] : void 0
444
- }, a = function (t, n) {
445
- function i(e) {
446
- var t, n, i = 0, r = 0;
447
- return e && (n = e.getBoundingClientRect(), t = "CSS1Compat" === s.compatMode ? s.documentElement : s.body, i = n.left + t.scrollLeft, r = n.top + t.scrollTop), {x: i, y: r}
448
- }
449
-
450
- var r = 0, o = 0, a, s = document, u, c;
451
- if (t = t, n = n || s.body, t && t.getBoundingClientRect && "IE" === e.browser && (!s.documentMode || s.documentMode < 8))return u = i(t), c = i(n), {x: u.x - c.x, y: u.y - c.y};
452
- for (a = t; a && a != n && a.nodeType;)r += a.offsetLeft || 0, o += a.offsetTop || 0, a = a.offsetParent;
453
- for (a = t.parentNode; a && a != n && a.nodeType;)r -= a.scrollLeft || 0, o -= a.scrollTop || 0, a = a.parentNode;
454
- return{x: r, y: o}
455
- }, s = function (e) {
456
- return{w: e.offsetWidth || e.clientWidth, h: e.offsetHeight || e.clientHeight}
457
- };
458
- return{get: t, hasClass: n, addClass: i, removeClass: r, getStyle: o, getPos: a, getSize: s}
459
- }), i(p, [u], function (e) {
460
- function t(e, t) {
461
- var n;
462
- for (n in e)if (e[n] === t)return n;
463
- return null
464
- }
465
-
466
- return{RuntimeError: function () {
467
- function n(e) {
468
- this.code = e, this.name = t(i, e), this.message = this.name + ": RuntimeError " + this.code
469
- }
470
-
471
- var i = {NOT_INIT_ERR: 1, NOT_SUPPORTED_ERR: 9, JS_ERR: 4};
472
- return e.extend(n, i), n.prototype = Error.prototype, n
473
- }(), OperationNotAllowedException: function () {
474
- function t(e) {
475
- this.code = e, this.name = "OperationNotAllowedException"
476
- }
477
-
478
- return e.extend(t, {NOT_ALLOWED_ERR: 1}), t.prototype = Error.prototype, t
479
- }(), ImageError: function () {
480
- function n(e) {
481
- this.code = e, this.name = t(i, e), this.message = this.name + ": ImageError " + this.code
482
- }
483
-
484
- var i = {WRONG_FORMAT: 1, MAX_RESOLUTION_ERR: 2};
485
- return e.extend(n, i), n.prototype = Error.prototype, n
486
- }(), FileException: function () {
487
- function n(e) {
488
- this.code = e, this.name = t(i, e), this.message = this.name + ": FileException " + this.code
489
- }
490
-
491
- var i = {NOT_FOUND_ERR: 1, SECURITY_ERR: 2, ABORT_ERR: 3, NOT_READABLE_ERR: 4, ENCODING_ERR: 5, NO_MODIFICATION_ALLOWED_ERR: 6, INVALID_STATE_ERR: 7, SYNTAX_ERR: 8};
492
- return e.extend(n, i), n.prototype = Error.prototype, n
493
- }(), DOMException: function () {
494
- function n(e) {
495
- this.code = e, this.name = t(i, e), this.message = this.name + ": DOMException " + this.code
496
- }
497
-
498
- var i = {INDEX_SIZE_ERR: 1, DOMSTRING_SIZE_ERR: 2, HIERARCHY_REQUEST_ERR: 3, WRONG_DOCUMENT_ERR: 4, INVALID_CHARACTER_ERR: 5, NO_DATA_ALLOWED_ERR: 6, NO_MODIFICATION_ALLOWED_ERR: 7, NOT_FOUND_ERR: 8, NOT_SUPPORTED_ERR: 9, INUSE_ATTRIBUTE_ERR: 10, INVALID_STATE_ERR: 11, SYNTAX_ERR: 12, INVALID_MODIFICATION_ERR: 13, NAMESPACE_ERR: 14, INVALID_ACCESS_ERR: 15, VALIDATION_ERR: 16, TYPE_MISMATCH_ERR: 17, SECURITY_ERR: 18, NETWORK_ERR: 19, ABORT_ERR: 20, URL_MISMATCH_ERR: 21, QUOTA_EXCEEDED_ERR: 22, TIMEOUT_ERR: 23, INVALID_NODE_TYPE_ERR: 24, DATA_CLONE_ERR: 25};
499
- return e.extend(n, i), n.prototype = Error.prototype, n
500
- }(), EventException: function () {
501
- function t(e) {
502
- this.code = e, this.name = "EventException"
503
- }
504
-
505
- return e.extend(t, {UNSPECIFIED_EVENT_TYPE_ERR: 0}), t.prototype = Error.prototype, t
506
- }()}
507
- }), i(h, [p, u], function (e, t) {
508
- function n() {
509
- var n = {};
510
- t.extend(this, {uid: null, init: function () {
511
- this.uid || (this.uid = t.guid("uid_"))
512
- }, addEventListener: function (e, i, r, o) {
513
- var a = this, s;
514
- return e = t.trim(e), /\s/.test(e) ? (t.each(e.split(/\s+/), function (e) {
515
- a.addEventListener(e, i, r, o)
516
- }), void 0) : (e = e.toLowerCase(), r = parseInt(r, 10) || 0, s = n[this.uid] && n[this.uid][e] || [], s.push({fn: i, priority: r, scope: o || this}), n[this.uid] || (n[this.uid] = {}), n[this.uid][e] = s, void 0)
517
- }, hasEventListener: function (e) {
518
- return e ? !(!n[this.uid] || !n[this.uid][e]) : !!n[this.uid]
519
- }, removeEventListener: function (e, i) {
520
- e = e.toLowerCase();
521
- var r = n[this.uid] && n[this.uid][e], o;
522
- if (r) {
523
- if (i) {
524
- for (o = r.length - 1; o >= 0; o--)if (r[o].fn === i) {
525
- r.splice(o, 1);
526
- break
527
- }
528
- } else r = [];
529
- r.length || (delete n[this.uid][e], t.isEmptyObj(n[this.uid]) && delete n[this.uid])
530
- }
531
- }, removeAllEventListeners: function () {
532
- n[this.uid] && delete n[this.uid]
533
- }, dispatchEvent: function (i) {
534
- var r, o, a, s, u = {}, c = !0, l;
535
- if ("string" !== t.typeOf(i)) {
536
- if (s = i, "string" !== t.typeOf(s.type))throw new e.EventException(e.EventException.UNSPECIFIED_EVENT_TYPE_ERR);
537
- i = s.type, s.total !== l && s.loaded !== l && (u.total = s.total, u.loaded = s.loaded), u.async = s.async || !1
538
- }
539
- if (-1 !== i.indexOf("::") ? function (e) {
540
- r = e[0], i = e[1]
541
- }(i.split("::")) : r = this.uid, i = i.toLowerCase(), o = n[r] && n[r][i]) {
542
- o.sort(function (e, t) {
543
- return t.priority - e.priority
544
- }), a = [].slice.call(arguments), a.shift(), u.type = i, a.unshift(u);
545
- var d = [];
546
- t.each(o, function (e) {
547
- a[0].target = e.scope, u.async ? d.push(function (t) {
548
- setTimeout(function () {
549
- t(e.fn.apply(e.scope, a) === !1)
550
- }, 1)
551
- }) : d.push(function (t) {
552
- t(e.fn.apply(e.scope, a) === !1)
553
- })
554
- }), d.length && t.inSeries(d, function (e) {
555
- c = !e
556
- })
557
- }
558
- return c
559
- }, bind: function () {
560
- this.addEventListener.apply(this, arguments)
561
- }, unbind: function () {
562
- this.removeEventListener.apply(this, arguments)
563
- }, unbindAll: function () {
564
- this.removeAllEventListeners.apply(this, arguments)
565
- }, trigger: function () {
566
- return this.dispatchEvent.apply(this, arguments)
567
- }, convertEventPropsToHandlers: function (e) {
568
- var n;
569
- "array" !== t.typeOf(e) && (e = [e]);
570
- for (var i = 0; i < e.length; i++)n = "on" + e[i], "function" === t.typeOf(this[n]) ? this.addEventListener(e[i], this[n]) : "undefined" === t.typeOf(this[n]) && (this[n] = null)
571
- }})
572
- }
573
-
574
- return n.instance = new n, n
575
- }), i(m, [], function () {
576
- var e = function (e) {
577
- return unescape(encodeURIComponent(e))
578
- }, t = function (e) {
579
- return decodeURIComponent(escape(e))
580
- }, n = function (e, n) {
581
- if ("function" == typeof window.atob)return n ? t(window.atob(e)) : window.atob(e);
582
- var i = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", r, o, a, s, u, c, l, d, f = 0, p = 0, h = "", m = [];
583
- if (!e)return e;
584
- e += "";
585
- do s = i.indexOf(e.charAt(f++)), u = i.indexOf(e.charAt(f++)), c = i.indexOf(e.charAt(f++)), l = i.indexOf(e.charAt(f++)), d = s << 18 | u << 12 | c << 6 | l, r = 255 & d >> 16, o = 255 & d >> 8, a = 255 & d, m[p++] = 64 == c ? String.fromCharCode(r) : 64 == l ? String.fromCharCode(r, o) : String.fromCharCode(r, o, a); while (f < e.length);
586
- return h = m.join(""), n ? t(h) : h
587
- }, i = function (t, n) {
588
- if (n && e(t), "function" == typeof window.btoa)return window.btoa(t);
589
- var i = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", r, o, a, s, u, c, l, d, f = 0, p = 0, h = "", m = [];
590
- if (!t)return t;
591
- do r = t.charCodeAt(f++), o = t.charCodeAt(f++), a = t.charCodeAt(f++), d = r << 16 | o << 8 | a, s = 63 & d >> 18, u = 63 & d >> 12, c = 63 & d >> 6, l = 63 & d, m[p++] = i.charAt(s) + i.charAt(u) + i.charAt(c) + i.charAt(l); while (f < t.length);
592
- h = m.join("");
593
- var g = t.length % 3;
594
- return(g ? h.slice(0, g - 3) : h) + "===".slice(g || 3)
595
- };
596
- return{utf8_encode: e, utf8_decode: t, atob: n, btoa: i}
597
- }), i(g, [u, f, h], function (e, t, n) {
598
- function i(n, r, a, s, u) {
599
- var c = this, l, d = e.guid(r + "_"), f = u || "browser";
600
- n = n || {}, o[d] = this, a = e.extend({access_binary: !1, access_image_binary: !1, display_media: !1, do_cors: !1, drag_and_drop: !1, filter_by_extension: !0, resize_image: !1, report_upload_progress: !1, return_response_headers: !1, return_response_type: !1, return_status_code: !0, send_custom_headers: !1, select_file: !1, select_folder: !1, select_multiple: !0, send_binary_string: !1, send_browser_cookies: !0, send_multipart: !0, slice_blob: !1, stream_upload: !1, summon_file_dialog: !1, upload_filesize: !0, use_http_method: !0}, a), n.preferred_caps && (f = i.getMode(s, n.preferred_caps, f)), l = function () {
601
- var t = {};
602
- return{exec: function (e, n, i, r) {
603
- return l[n] && (t[e] || (t[e] = {context: this, instance: new l[n]}), t[e].instance[i]) ? t[e].instance[i].apply(this, r) : void 0
604
- }, removeInstance: function (e) {
605
- delete t[e]
606
- }, removeAllInstances: function () {
607
- var n = this;
608
- e.each(t, function (t, i) {
609
- "function" === e.typeOf(t.instance.destroy) && t.instance.destroy.call(t.context), n.removeInstance(i)
610
- })
611
- }}
612
- }(), e.extend(this, {initialized: !1, uid: d, type: r, mode: i.getMode(s, n.required_caps, f), shimid: d + "_container", clients: 0, options: n, can: function (t, n) {
613
- var r = arguments[2] || a;
614
- if ("string" === e.typeOf(t) && "undefined" === e.typeOf(n) && (t = i.parseCaps(t)), "object" === e.typeOf(t)) {
615
- for (var o in t)if (!this.can(o, t[o], r))return!1;
616
- return!0
617
- }
618
- return"function" === e.typeOf(r[t]) ? r[t].call(this, n) : n === r[t]
619
- }, getShimContainer: function () {
620
- var n, i = t.get(this.shimid);
621
- return i || (n = this.options.container ? t.get(this.options.container) : document.body, i = document.createElement("div"), i.id = this.shimid, i.className = "moxie-shim moxie-shim-" + this.type, e.extend(i.style, {position: "absolute", top: "0px", left: "0px", width: "1px", height: "1px", overflow: "hidden"}), n.appendChild(i), n = null), i
622
- }, getShim: function () {
623
- return l
624
- }, shimExec: function (e, t) {
625
- var n = [].slice.call(arguments, 2);
626
- return c.getShim().exec.call(this, this.uid, e, t, n)
627
- }, exec: function (e, t) {
628
- var n = [].slice.call(arguments, 2);
629
- return c[e] && c[e][t] ? c[e][t].apply(this, n) : c.shimExec.apply(this, arguments)
630
- }, destroy: function () {
631
- if (c) {
632
- var e = t.get(this.shimid);
633
- e && e.parentNode.removeChild(e), l && l.removeAllInstances(), this.unbindAll(), delete o[this.uid], this.uid = null, d = c = l = e = null
634
- }
635
- }}), this.mode && n.required_caps && !this.can(n.required_caps) && (this.mode = !1)
636
- }
637
-
638
- var r = {}, o = {};
639
- return i.order = "html5,flash,silverlight,html4", i.getRuntime = function (e) {
640
- return o[e] ? o[e] : !1
641
- }, i.addConstructor = function (e, t) {
642
- t.prototype = n.instance, r[e] = t
643
- }, i.getConstructor = function (e) {
644
- return r[e] || null
645
- }, i.getInfo = function (e) {
646
- var t = i.getRuntime(e);
647
- return t ? {uid: t.uid, type: t.type, mode: t.mode, can: function () {
648
- return t.can.apply(t, arguments)
649
- }} : null
650
- }, i.parseCaps = function (t) {
651
- var n = {};
652
- return"string" !== e.typeOf(t) ? t || {} : (e.each(t.split(","), function (e) {
653
- n[e] = !0
654
- }), n)
655
- }, i.can = function (e, t) {
656
- var n, r = i.getConstructor(e), o;
657
- return r ? (n = new r({required_caps: t}), o = n.mode, n.destroy(), !!o) : !1
658
- }, i.thatCan = function (e, t) {
659
- var n = (t || i.order).split(/\s*,\s*/);
660
- for (var r in n)if (i.can(n[r], e))return n[r];
661
- return null
662
- }, i.getMode = function (t, n, i) {
663
- var r = null;
664
- if ("undefined" === e.typeOf(i) && (i = "browser"), n && !e.isEmptyObj(t)) {
665
- if (e.each(n, function (n, i) {
666
- if (t.hasOwnProperty(i)) {
667
- var o = t[i](n);
668
- if ("string" == typeof o && (o = [o]), r) {
669
- if (!(r = e.arrayIntersect(r, o)))return r = !1
670
- } else r = o
671
- }
672
- }), r)return-1 !== e.inArray(i, r) ? i : r[0];
673
- if (r === !1)return!1
674
- }
675
- return i
676
- }, i.capTrue = function () {
677
- return!0
678
- }, i.capFalse = function () {
679
- return!1
680
- }, i.capTest = function (e) {
681
- return function () {
682
- return!!e
683
- }
684
- }, i
685
- }), i(v, [p, u, g], function (e, t, n) {
686
- return function i() {
687
- var i;
688
- t.extend(this, {connectRuntime: function (r) {
689
- function o(t) {
690
- var s, u;
691
- return t.length ? (s = t.shift(), (u = n.getConstructor(s)) ? (i = new u(r), i.bind("Init", function () {
692
- i.initialized = !0, setTimeout(function () {
693
- i.clients++, a.trigger("RuntimeInit", i)
694
- }, 1)
695
- }), i.bind("Error", function () {
696
- i.destroy(), o(t)
697
- }), i.mode ? (i.init(), void 0) : (i.trigger("Error"), void 0)) : (o(t), void 0)) : (a.trigger("RuntimeError", new e.RuntimeError(e.RuntimeError.NOT_INIT_ERR)), i = null, void 0)
698
- }
699
-
700
- var a = this, s;
701
- if ("string" === t.typeOf(r) ? s = r : "string" === t.typeOf(r.ruid) && (s = r.ruid), s) {
702
- if (i = n.getRuntime(s))return i.clients++, i;
703
- throw new e.RuntimeError(e.RuntimeError.NOT_INIT_ERR)
704
- }
705
- o((r.runtime_order || n.order).split(/\s*,\s*/))
706
- }, getRuntime: function () {
707
- return i && i.uid ? i : (i = null, null)
708
- }, disconnectRuntime: function () {
709
- i && --i.clients <= 0 && (i.destroy(), i = null)
710
- }})
711
- }
712
- }), i(y, [u, m, v], function (e, t, n) {
713
- function i(o, a) {
714
- function s(t, n, o) {
715
- var a, s = r[this.uid];
716
- return"string" === e.typeOf(s) && s.length ? (a = new i(null, {type: o, size: n - t}), a.detach(s.substr(t, a.size)), a) : null
717
- }
718
-
719
- n.call(this), o && this.connectRuntime(o), a ? "string" === e.typeOf(a) && (a = {data: a}) : a = {}, e.extend(this, {uid: a.uid || e.guid("uid_"), ruid: o, size: a.size || 0, type: a.type || "", slice: function (e, t, n) {
720
- return this.isDetached() ? s.apply(this, arguments) : this.getRuntime().exec.call(this, "Blob", "slice", this.getSource(), e, t, n)
721
- }, getSource: function () {
722
- return r[this.uid] ? r[this.uid] : null
723
- }, detach: function (e) {
724
- this.ruid && (this.getRuntime().exec.call(this, "Blob", "destroy", r[this.uid]), this.disconnectRuntime(), this.ruid = null), e = e || "";
725
- var n = e.match(/^data:([^;]*);base64,/);
726
- n && (this.type = n[1], e = t.atob(e.substring(e.indexOf("base64,") + 7))), this.size = e.length, r[this.uid] = e
727
- }, isDetached: function () {
728
- return!this.ruid && "string" === e.typeOf(r[this.uid])
729
- }, destroy: function () {
730
- this.detach(), delete r[this.uid]
731
- }}), a.data ? this.detach(a.data) : r[this.uid] = a
732
- }
733
-
734
- var r = {};
735
- return i
736
- }), i(w, [u, l, y], function (e, t, n) {
737
- function i(i, r) {
738
- var o, a;
739
- if (r || (r = {}), a = r.type && "" !== r.type ? r.type : t.getFileMime(r.name), r.name)o = r.name.replace(/\\/g, "/"), o = o.substr(o.lastIndexOf("/") + 1); else {
740
- var s = a.split("/")[0];
741
- o = e.guid(("" !== s ? s : "file") + "_"), t.extensions[a] && (o += "." + t.extensions[a][0])
742
- }
743
- n.apply(this, arguments), e.extend(this, {type: a || "", name: o || e.guid("file_"), lastModifiedDate: r.lastModifiedDate || (new Date).toLocaleString()})
744
- }
745
-
746
- return i.prototype = n.prototype, i
747
- }), i(E, [u, l, f, p, h, c, w, g, v], function (e, t, n, i, r, o, a, s, u) {
748
- function c(r) {
749
- var c = this, d, f, p;
750
- if (-1 !== e.inArray(e.typeOf(r), ["string", "node"]) && (r = {browse_button: r}), f = n.get(r.browse_button), !f)throw new i.DOMException(i.DOMException.NOT_FOUND_ERR);
751
- p = {accept: [
752
- {title: o.translate("All Files"), extensions: "*"}
753
- ], name: "file", multiple: !1, required_caps: !1, container: f.parentNode || document.body}, r = e.extend({}, p, r), "string" == typeof r.required_caps && (r.required_caps = s.parseCaps(r.required_caps)), "string" == typeof r.accept && (r.accept = t.mimes2extList(r.accept)), d = n.get(r.container), d || (d = document.body), "static" === n.getStyle(d, "position") && (d.style.position = "relative"), d = f = null, u.call(c), e.extend(c, {uid: e.guid("uid_"), ruid: null, shimid: null, files: null, init: function () {
754
- c.convertEventPropsToHandlers(l), c.bind("RuntimeInit", function (t, i) {
755
- c.ruid = i.uid, c.shimid = i.shimid, c.bind("Ready", function () {
756
- c.trigger("Refresh")
757
- }, 999), c.bind("Change", function () {
758
- var t = i.exec.call(c, "FileInput", "getFiles");
759
- c.files = [], e.each(t, function (e) {
760
- return 0 === e.size ? !0 : (c.files.push(new a(c.ruid, e)), void 0)
761
- })
762
- }, 999), c.bind("Refresh", function () {
763
- var t, o, a, s;
764
- a = n.get(r.browse_button), s = n.get(i.shimid), a && (t = n.getPos(a, n.get(r.container)), o = n.getSize(a), s && e.extend(s.style, {top: t.y + "px", left: t.x + "px", width: o.w + "px", height: o.h + "px"})), s = a = null
765
- }), i.exec.call(c, "FileInput", "init", r)
766
- }), c.connectRuntime(e.extend({}, r, {required_caps: {select_file: !0}}))
767
- }, disable: function (t) {
768
- var n = this.getRuntime();
769
- n && n.exec.call(this, "FileInput", "disable", "undefined" === e.typeOf(t) ? !0 : t)
770
- }, refresh: function () {
771
- c.trigger("Refresh")
772
- }, destroy: function () {
773
- var t = this.getRuntime();
774
- t && (t.exec.call(this, "FileInput", "destroy"), this.disconnectRuntime()), "array" === e.typeOf(this.files) && e.each(this.files, function (e) {
775
- e.destroy()
776
- }), this.files = null
777
- }})
778
- }
779
-
780
- var l = ["ready", "change", "cancel", "mouseenter", "mouseleave", "mousedown", "mouseup"];
781
- return c.prototype = r.instance, c
782
- }), i(_, [c, f, p, u, w, v, h, l], function (e, t, n, i, r, o, a, s) {
783
- function u(n) {
784
- var a = this, u;
785
- "string" == typeof n && (n = {drop_zone: n}), u = {accept: [
786
- {title: e.translate("All Files"), extensions: "*"}
787
- ], required_caps: {drag_and_drop: !0}}, n = "object" == typeof n ? i.extend({}, u, n) : u, n.container = t.get(n.drop_zone) || document.body, "static" === t.getStyle(n.container, "position") && (n.container.style.position = "relative"), "string" == typeof n.accept && (n.accept = s.mimes2extList(n.accept)), o.call(a), i.extend(a, {uid: i.guid("uid_"), ruid: null, files: null, init: function () {
788
- a.convertEventPropsToHandlers(c), a.bind("RuntimeInit", function (e, t) {
789
- a.ruid = t.uid, a.bind("Drop", function () {
790
- var e = t.exec.call(a, "FileDrop", "getFiles");
791
- a.files = [], i.each(e, function (e) {
792
- a.files.push(new r(a.ruid, e))
793
- })
794
- }, 999), t.exec.call(a, "FileDrop", "init", n), a.dispatchEvent("ready")
795
- }), a.connectRuntime(n)
796
- }, destroy: function () {
797
- var e = this.getRuntime();
798
- e && (e.exec.call(this, "FileDrop", "destroy"), this.disconnectRuntime()), this.files = null
799
- }})
800
- }
801
-
802
- var c = ["ready", "dragenter", "dragleave", "drop", "error"];
803
- return u.prototype = a.instance, u
804
- }), i(x, [u, v, h], function (e, t, n) {
805
- function i() {
806
- this.uid = e.guid("uid_"), t.call(this), this.destroy = function () {
807
- this.disconnectRuntime(), this.unbindAll()
808
- }
809
- }
810
-
811
- return i.prototype = n.instance, i
812
- }), i(R, [u, m, p, h, y, w, x], function (e, t, n, i, r, o, a) {
813
- function s() {
814
- function i(e, i) {
815
- function l(e) {
816
- o.readyState = s.DONE, o.error = e, o.trigger("error"), d()
817
- }
818
-
819
- function d() {
820
- c.destroy(), c = null, o.trigger("loadend")
821
- }
822
-
823
- function f(t) {
824
- c.bind("Error", function (e, t) {
825
- l(t)
826
- }), c.bind("Progress", function (e) {
827
- o.result = t.exec.call(c, "FileReader", "getResult"), o.trigger(e)
828
- }), c.bind("Load", function (e) {
829
- o.readyState = s.DONE, o.result = t.exec.call(c, "FileReader", "getResult"), o.trigger(e), d()
830
- }), t.exec.call(c, "FileReader", "read", e, i)
831
- }
832
-
833
- if (c = new a, this.convertEventPropsToHandlers(u), this.readyState === s.LOADING)return l(new n.DOMException(n.DOMException.INVALID_STATE_ERR));
834
- if (this.readyState = s.LOADING, this.trigger("loadstart"), i instanceof r)if (i.isDetached()) {
835
- var p = i.getSource();
836
- switch (e) {
837
- case"readAsText":
838
- case"readAsBinaryString":
839
- this.result = p;
840
- break;
841
- case"readAsDataURL":
842
- this.result = "data:" + i.type + ";base64," + t.btoa(p)
843
- }
844
- this.readyState = s.DONE, this.trigger("load"), d()
845
- } else f(c.connectRuntime(i.ruid)); else l(new n.DOMException(n.DOMException.NOT_FOUND_ERR))
846
- }
847
-
848
- var o = this, c;
849
- e.extend(this, {uid: e.guid("uid_"), readyState: s.EMPTY, result: null, error: null, readAsBinaryString: function (e) {
850
- i.call(this, "readAsBinaryString", e)
851
- }, readAsDataURL: function (e) {
852
- i.call(this, "readAsDataURL", e)
853
- }, readAsText: function (e) {
854
- i.call(this, "readAsText", e)
855
- }, abort: function () {
856
- this.result = null, -1 === e.inArray(this.readyState, [s.EMPTY, s.DONE]) && (this.readyState === s.LOADING && (this.readyState = s.DONE), c && c.getRuntime().exec.call(this, "FileReader", "abort"), this.trigger("abort"), this.trigger("loadend"))
857
- }, destroy: function () {
858
- this.abort(), c && (c.getRuntime().exec.call(this, "FileReader", "destroy"), c.disconnectRuntime()), o = c = null
859
- }})
860
- }
861
-
862
- var u = ["loadstart", "progress", "load", "abort", "error", "loadend"];
863
- return s.EMPTY = 0, s.LOADING = 1, s.DONE = 2, s.prototype = i.instance, s
864
- }), i(b, [], function () {
865
- var e = function (t, n) {
866
- for (var i = ["source", "scheme", "authority", "userInfo", "user", "pass", "host", "port", "relative", "path", "directory", "file", "query", "fragment"], r = i.length, o = {http: 80, https: 443}, a = {}, s = /^(?:([^:\/?#]+):)?(?:\/\/()(?:(?:()(?:([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?))?()(?:(()(?:(?:[^?#\/]*\/)*)()(?:[^?#]*))(?:\\?([^#]*))?(?:#(.*))?)/, u = s.exec(t || ""); r--;)u[r] && (a[i[r]] = u[r]);
867
- if (!a.scheme) {
868
- n && "string" != typeof n || (n = e(n || document.location.href)), a.scheme = n.scheme, a.host = n.host, a.port = n.port;
869
- var c = "";
870
- /^[^\/]/.test(a.path) && (c = n.path, /(\/|\/[^\.]+)$/.test(c) ? c += "/" : c = c.replace(/\/[^\/]+$/, "/")), a.path = c + (a.path || "")
871
- }
872
- return a.port || (a.port = o[a.scheme] || 80), a.port = parseInt(a.port, 10), a.path || (a.path = "/"), delete a.source, a
873
- }, t = function (t) {
874
- var n = {http: 80, https: 443}, i = e(t);
875
- return i.scheme + "://" + i.host + (i.port !== n[i.scheme] ? ":" + i.port : "") + i.path + (i.query ? i.query : "")
876
- }, n = function (t) {
877
- function n(e) {
878
- return[e.scheme, e.host, e.port].join("/")
879
- }
880
-
881
- return"string" == typeof t && (t = e(t)), n(e()) === n(t)
882
- };
883
- return{parseUrl: e, resolveUrl: t, hasSameOrigin: n}
884
- }), i(T, [u, v, m], function (e, t, n) {
885
- return function () {
886
- function i(e, t) {
887
- if (!t.isDetached()) {
888
- var i = this.connectRuntime(t.ruid).exec.call(this, "FileReaderSync", "read", e, t);
889
- return this.disconnectRuntime(), i
890
- }
891
- var r = t.getSource();
892
- switch (e) {
893
- case"readAsBinaryString":
894
- return r;
895
- case"readAsDataURL":
896
- return"data:" + t.type + ";base64," + n.btoa(r);
897
- case"readAsText":
898
- for (var o = "", a = 0, s = r.length; s > a; a++)o += String.fromCharCode(r[a]);
899
- return o
900
- }
901
- }
902
-
903
- t.call(this), e.extend(this, {uid: e.guid("uid_"), readAsBinaryString: function (e) {
904
- return i.call(this, "readAsBinaryString", e)
905
- }, readAsDataURL: function (e) {
906
- return i.call(this, "readAsDataURL", e)
907
- }, readAsText: function (e) {
908
- return i.call(this, "readAsText", e)
909
- }})
910
- }
911
- }), i(S, [p, u, y], function (e, t, n) {
912
- function i() {
913
- var e, i = [];
914
- t.extend(this, {append: function (r, o) {
915
- var a = this, s = t.typeOf(o);
916
- o instanceof n ? e = {name: r, value: o} : "array" === s ? (r += "[]", t.each(o, function (e) {
917
- a.append(r, e)
918
- })) : "object" === s ? t.each(o, function (e, t) {
919
- a.append(r + "[" + t + "]", e)
920
- }) : "null" === s || "undefined" === s || "number" === s && isNaN(o) ? a.append(r, "false") : i.push({name: r, value: o.toString()})
921
- }, hasBlob: function () {
922
- return!!this.getBlob()
923
- }, getBlob: function () {
924
- return e && e.value || null
925
- }, getBlobName: function () {
926
- return e && e.name || null
927
- }, each: function (n) {
928
- t.each(i, function (e) {
929
- n(e.value, e.name)
930
- }), e && n(e.value, e.name)
931
- }, destroy: function () {
932
- e = null, i = []
933
- }})
934
- }
935
-
936
- return i
937
- }), i(A, [u, p, h, m, b, g, x, y, T, S, d, l], function (e, t, n, i, r, o, a, s, u, c, l, d) {
938
- function f() {
939
- this.uid = e.guid("uid_")
940
- }
941
-
942
- function p() {
943
- function n(e, t) {
944
- return y.hasOwnProperty(e) ? 1 === arguments.length ? l.can("define_property") ? y[e] : v[e] : (l.can("define_property") ? y[e] = t : v[e] = t, void 0) : void 0
945
- }
946
-
947
- function u(t) {
948
- function i() {
949
- k.destroy(), k = null, s.dispatchEvent("loadend"), s = null
950
- }
951
-
952
- function r(r) {
953
- k.bind("LoadStart", function (e) {
954
- n("readyState", p.LOADING), s.dispatchEvent("readystatechange"), s.dispatchEvent(e), I && s.upload.dispatchEvent(e)
955
- }), k.bind("Progress", function (e) {
956
- n("readyState") !== p.LOADING && (n("readyState", p.LOADING), s.dispatchEvent("readystatechange")), s.dispatchEvent(e)
957
- }), k.bind("UploadProgress", function (e) {
958
- I && s.upload.dispatchEvent({type: "progress", lengthComputable: !1, total: e.total, loaded: e.loaded})
959
- }), k.bind("Load", function (t) {
960
- n("readyState", p.DONE), n("status", Number(r.exec.call(k, "XMLHttpRequest", "getStatus") || 0)), n("statusText", h[n("status")] || ""), n("response", r.exec.call(k, "XMLHttpRequest", "getResponse", n("responseType"))), ~e.inArray(n("responseType"), ["text", ""]) ? n("responseText", n("response")) : "document" === n("responseType") && n("responseXML", n("response")), U = r.exec.call(k, "XMLHttpRequest", "getAllResponseHeaders"), s.dispatchEvent("readystatechange"), n("status") > 0 ? (I && s.upload.dispatchEvent(t), s.dispatchEvent(t)) : (N = !0, s.dispatchEvent("error")), i()
961
- }), k.bind("Abort", function (e) {
962
- s.dispatchEvent(e), i()
963
- }), k.bind("Error", function (e) {
964
- N = !0, n("readyState", p.DONE), s.dispatchEvent("readystatechange"), D = !0, s.dispatchEvent(e), i()
965
- }), r.exec.call(k, "XMLHttpRequest", "send", {url: E, method: _, async: w, user: R, password: b, headers: x, mimeType: S, encoding: T, responseType: s.responseType, withCredentials: s.withCredentials, options: P}, t)
966
- }
967
-
968
- var s = this;
969
- M = (new Date).getTime(), k = new a, "string" == typeof P.required_caps && (P.required_caps = o.parseCaps(P.required_caps)), P.required_caps = e.extend({}, P.required_caps, {return_response_type: s.responseType}), t instanceof c && (P.required_caps.send_multipart = !0), L || (P.required_caps.do_cors = !0), P.ruid ? r(k.connectRuntime(P)) : (k.bind("RuntimeInit", function (e, t) {
970
- r(t)
971
- }), k.bind("RuntimeError", function (e, t) {
972
- s.dispatchEvent("RuntimeError", t)
973
- }), k.connectRuntime(P))
974
- }
975
-
976
- function g() {
977
- n("responseText", ""), n("responseXML", null), n("response", null), n("status", 0), n("statusText", ""), M = C = null
978
- }
979
-
980
- var v = this, y = {timeout: 0, readyState: p.UNSENT, withCredentials: !1, status: 0, statusText: "", responseType: "", responseXML: null, responseText: null, response: null}, w = !0, E, _, x = {}, R, b, T = null, S = null, A = !1, O = !1, I = !1, D = !1, N = !1, L = !1, M, C, F = null, H = null, P = {}, k, U = "", B;
981
- e.extend(this, y, {uid: e.guid("uid_"), upload: new f, open: function (o, a, s, u, c) {
982
- var l;
983
- if (!o || !a)throw new t.DOMException(t.DOMException.SYNTAX_ERR);
984
- if (/[\u0100-\uffff]/.test(o) || i.utf8_encode(o) !== o)throw new t.DOMException(t.DOMException.SYNTAX_ERR);
985
- if (~e.inArray(o.toUpperCase(), ["CONNECT", "DELETE", "GET", "HEAD", "OPTIONS", "POST", "PUT", "TRACE", "TRACK"]) && (_ = o.toUpperCase()), ~e.inArray(_, ["CONNECT", "TRACE", "TRACK"]))throw new t.DOMException(t.DOMException.SECURITY_ERR);
986
- if (a = i.utf8_encode(a), l = r.parseUrl(a), L = r.hasSameOrigin(l), E = r.resolveUrl(a), (u || c) && !L)throw new t.DOMException(t.DOMException.INVALID_ACCESS_ERR);
987
- if (R = u || l.user, b = c || l.pass, w = s || !0, w === !1 && (n("timeout") || n("withCredentials") || "" !== n("responseType")))throw new t.DOMException(t.DOMException.INVALID_ACCESS_ERR);
988
- A = !w, O = !1, x = {}, g.call(this), n("readyState", p.OPENED), this.convertEventPropsToHandlers(["readystatechange"]), this.dispatchEvent("readystatechange")
989
- }, setRequestHeader: function (r, o) {
990
- var a = ["accept-charset", "accept-encoding", "access-control-request-headers", "access-control-request-method", "connection", "content-length", "cookie", "cookie2", "content-transfer-encoding", "date", "expect", "host", "keep-alive", "origin", "referer", "te", "trailer", "transfer-encoding", "upgrade", "user-agent", "via"];
991
- if (n("readyState") !== p.OPENED || O)throw new t.DOMException(t.DOMException.INVALID_STATE_ERR);
992
- if (/[\u0100-\uffff]/.test(r) || i.utf8_encode(r) !== r)throw new t.DOMException(t.DOMException.SYNTAX_ERR);
993
- return r = e.trim(r).toLowerCase(), ~e.inArray(r, a) || /^(proxy\-|sec\-)/.test(r) ? !1 : (x[r] ? x[r] += ", " + o : x[r] = o, !0)
994
- }, getAllResponseHeaders: function () {
995
- return U || ""
996
- }, getResponseHeader: function (t) {
997
- return t = t.toLowerCase(), N || ~e.inArray(t, ["set-cookie", "set-cookie2"]) ? null : U && "" !== U && (B || (B = {}, e.each(U.split(/\r\n/), function (t) {
998
- var n = t.split(/:\s+/);
999
- 2 === n.length && (n[0] = e.trim(n[0]), B[n[0].toLowerCase()] = {header: n[0], value: e.trim(n[1])})
1000
- })), B.hasOwnProperty(t)) ? B[t].header + ": " + B[t].value : null
1001
- }, overrideMimeType: function (i) {
1002
- var r, o;
1003
- if (~e.inArray(n("readyState"), [p.LOADING, p.DONE]))throw new t.DOMException(t.DOMException.INVALID_STATE_ERR);
1004
- if (i = e.trim(i.toLowerCase()), /;/.test(i) && (r = i.match(/^([^;]+)(?:;\scharset\=)?(.*)$/)) && (i = r[1], r[2] && (o = r[2])), !d.mimes[i])throw new t.DOMException(t.DOMException.SYNTAX_ERR);
1005
- F = i, H = o
1006
- }, send: function (n, r) {
1007
- if (P = "string" === e.typeOf(r) ? {ruid: r} : r ? r : {}, this.convertEventPropsToHandlers(m), this.upload.convertEventPropsToHandlers(m), this.readyState !== p.OPENED || O)throw new t.DOMException(t.DOMException.INVALID_STATE_ERR);
1008
- if (n instanceof s)P.ruid = n.ruid, S = n.type || "application/octet-stream"; else if (n instanceof c) {
1009
- if (n.hasBlob()) {
1010
- var o = n.getBlob();
1011
- P.ruid = o.ruid, S = o.type || "application/octet-stream"
1012
- }
1013
- } else"string" == typeof n && (T = "UTF-8", S = "text/plain;charset=UTF-8", n = i.utf8_encode(n));
1014
- this.withCredentials || (this.withCredentials = P.required_caps && P.required_caps.send_browser_cookies && !L), I = !A && this.upload.hasEventListener(), N = !1, D = !n, A || (O = !0), u.call(this, n)
1015
- }, abort: function () {
1016
- if (N = !0, A = !1, ~e.inArray(n("readyState"), [p.UNSENT, p.OPENED, p.DONE]))n("readyState", p.UNSENT); else {
1017
- if (n("readyState", p.DONE), O = !1, !k)throw new t.DOMException(t.DOMException.INVALID_STATE_ERR);
1018
- k.getRuntime().exec.call(k, "XMLHttpRequest", "abort", D), D = !0
1019
- }
1020
- }, destroy: function () {
1021
- k && ("function" === e.typeOf(k.destroy) && k.destroy(), k = null), this.unbindAll(), this.upload && (this.upload.unbindAll(), this.upload = null)
1022
- }})
1023
- }
1024
-
1025
- var h = {100: "Continue", 101: "Switching Protocols", 102: "Processing", 200: "OK", 201: "Created", 202: "Accepted", 203: "Non-Authoritative Information", 204: "No Content", 205: "Reset Content", 206: "Partial Content", 207: "Multi-Status", 226: "IM Used", 300: "Multiple Choices", 301: "Moved Permanently", 302: "Found", 303: "See Other", 304: "Not Modified", 305: "Use Proxy", 306: "Reserved", 307: "Temporary Redirect", 400: "Bad Request", 401: "Unauthorized", 402: "Payment Required", 403: "Forbidden", 404: "Not Found", 405: "Method Not Allowed", 406: "Not Acceptable", 407: "Proxy Authentication Required", 408: "Request Timeout", 409: "Conflict", 410: "Gone", 411: "Length Required", 412: "Precondition Failed", 413: "Request Entity Too Large", 414: "Request-URI Too Long", 415: "Unsupported Media Type", 416: "Requested Range Not Satisfiable", 417: "Expectation Failed", 422: "Unprocessable Entity", 423: "Locked", 424: "Failed Dependency", 426: "Upgrade Required", 500: "Internal Server Error", 501: "Not Implemented", 502: "Bad Gateway", 503: "Service Unavailable", 504: "Gateway Timeout", 505: "HTTP Version Not Supported", 506: "Variant Also Negotiates", 507: "Insufficient Storage", 510: "Not Extended"};
1026
- f.prototype = n.instance;
1027
- var m = ["loadstart", "progress", "abort", "error", "load", "timeout", "loadend"], g = 1, v = 2;
1028
- return p.UNSENT = 0, p.OPENED = 1, p.HEADERS_RECEIVED = 2, p.LOADING = 3, p.DONE = 4, p.prototype = n.instance, p
1029
- }), i(O, [u, m, v, h], function (e, t, n, i) {
1030
- function r() {
1031
- function i() {
1032
- l = d = 0, c = this.result = null
1033
- }
1034
-
1035
- function o(t, n) {
1036
- var i = this;
1037
- u = n, i.bind("TransportingProgress", function (t) {
1038
- d = t.loaded, l > d && -1 === e.inArray(i.state, [r.IDLE, r.DONE]) && a.call(i)
1039
- }, 999), i.bind("TransportingComplete", function () {
1040
- d = l, i.state = r.DONE, c = null, i.result = u.exec.call(i, "Transporter", "getAsBlob", t || "")
1041
- }, 999), i.state = r.BUSY, i.trigger("TransportingStarted"), a.call(i)
1042
- }
1043
-
1044
- function a() {
1045
- var e = this, n, i = l - d;
1046
- f > i && (f = i), n = t.btoa(c.substr(d, f)), u.exec.call(e, "Transporter", "receive", n, l)
1047
- }
1048
-
1049
- var s, u, c, l, d, f;
1050
- n.call(this), e.extend(this, {uid: e.guid("uid_"), state: r.IDLE, result: null, transport: function (t, n, r) {
1051
- var a = this;
1052
- if (r = e.extend({chunk_size: 204798}, r), (s = r.chunk_size % 3) && (r.chunk_size += 3 - s), f = r.chunk_size, i.call(this), c = t, l = t.length, "string" === e.typeOf(r) || r.ruid)o.call(a, n, this.connectRuntime(r)); else {
1053
- var u = function (e, t) {
1054
- a.unbind("RuntimeInit", u), o.call(a, n, t)
1055
- };
1056
- this.bind("RuntimeInit", u), this.connectRuntime(r)
1057
- }
1058
- }, abort: function () {
1059
- var e = this;
1060
- e.state = r.IDLE, u && (u.exec.call(e, "Transporter", "clear"), e.trigger("TransportingAborted")), i.call(e)
1061
- }, destroy: function () {
1062
- this.unbindAll(), u = null, this.disconnectRuntime(), i.call(this)
1063
- }})
1064
- }
1065
-
1066
- return r.IDLE = 0, r.BUSY = 1, r.DONE = 2, r.prototype = i.instance, r
1067
- }), i(I, [u, f, p, T, A, g, v, O, d, h, y, w, m], function (e, t, n, i, r, o, a, s, u, c, l, d, f) {
1068
- function p() {
1069
- function i(e) {
1070
- e || (e = this.getRuntime().exec.call(this, "Image", "getInfo")), this.size = e.size, this.width = e.width, this.height = e.height, this.type = e.type, this.meta = e.meta, "" === this.name && (this.name = e.name)
1071
- }
1072
-
1073
- function c(t) {
1074
- var i = e.typeOf(t);
1075
- try {
1076
- if (t instanceof p) {
1077
- if (!t.size)throw new n.DOMException(n.DOMException.INVALID_STATE_ERR);
1078
- m.apply(this, arguments)
1079
- } else if (t instanceof l) {
1080
- if (!~e.inArray(t.type, ["image/jpeg", "image/png"]))throw new n.ImageError(n.ImageError.WRONG_FORMAT);
1081
- g.apply(this, arguments)
1082
- } else if (-1 !== e.inArray(i, ["blob", "file"]))c.call(this, new d(null, t), arguments[1]); else if ("string" === i)/^data:[^;]*;base64,/.test(t) ? c.call(this, new l(null, {data: t}), arguments[1]) : v.apply(this, arguments); else {
1083
- if ("node" !== i || "img" !== t.nodeName.toLowerCase())throw new n.DOMException(n.DOMException.TYPE_MISMATCH_ERR);
1084
- c.call(this, t.src, arguments[1])
1085
- }
1086
- } catch (r) {
1087
- this.trigger("error", r)
1088
- }
1089
- }
1090
-
1091
- function m(t, n) {
1092
- var i = this.connectRuntime(t.ruid);
1093
- this.ruid = i.uid, i.exec.call(this, "Image", "loadFromImage", t, "undefined" === e.typeOf(n) ? !0 : n)
1094
- }
1095
-
1096
- function g(t, n) {
1097
- function i(e) {
1098
- r.ruid = e.uid, e.exec.call(r, "Image", "loadFromBlob", t)
1099
- }
1100
-
1101
- var r = this;
1102
- r.name = t.name || "", t.isDetached() ? (this.bind("RuntimeInit", function (e, t) {
1103
- i(t)
1104
- }), n && "string" == typeof n.required_caps && (n.required_caps = o.parseCaps(n.required_caps)), this.connectRuntime(e.extend({required_caps: {access_image_binary: !0, resize_image: !0}}, n))) : i(this.connectRuntime(t.ruid))
1105
- }
1106
-
1107
- function v(e, t) {
1108
- var n = this, i;
1109
- i = new r, i.open("get", e), i.responseType = "blob", i.onprogress = function (e) {
1110
- n.trigger(e)
1111
- }, i.onload = function () {
1112
- g.call(n, i.response, !0)
1113
- }, i.onerror = function (e) {
1114
- n.trigger(e)
1115
- }, i.onloadend = function () {
1116
- i.destroy()
1117
- }, i.bind("RuntimeError", function (e, t) {
1118
- n.trigger("RuntimeError", t)
1119
- }), i.send(null, t)
1120
- }
1121
-
1122
- a.call(this), e.extend(this, {uid: e.guid("uid_"), ruid: null, name: "", size: 0, width: 0, height: 0, type: "", meta: {}, clone: function () {
1123
- this.load.apply(this, arguments)
1124
- }, load: function () {
1125
- this.bind("Load Resize", function () {
1126
- i.call(this)
1127
- }, 999), this.convertEventPropsToHandlers(h), c.apply(this, arguments)
1128
- }, downsize: function (t, i, r, o) {
1129
- try {
1130
- if (!this.size)throw new n.DOMException(n.DOMException.INVALID_STATE_ERR);
1131
- if (this.width > p.MAX_RESIZE_WIDTH || this.height > p.MAX_RESIZE_HEIGHT)throw new n.ImageError(n.ImageError.MAX_RESOLUTION_ERR);
1132
- (!t && !i || "undefined" === e.typeOf(r)) && (r = !1), t = t || this.width, i = i || this.height, o = "undefined" === e.typeOf(o) ? !0 : !!o, this.getRuntime().exec.call(this, "Image", "downsize", t, i, r, o)
1133
- } catch (a) {
1134
- this.trigger("error", a)
1135
- }
1136
- }, crop: function (e, t, n) {
1137
- this.downsize(e, t, !0, n)
1138
- }, getAsCanvas: function () {
1139
- if (!u.can("create_canvas"))throw new n.RuntimeError(n.RuntimeError.NOT_SUPPORTED_ERR);
1140
- var e = this.connectRuntime(this.ruid);
1141
- return e.exec.call(this, "Image", "getAsCanvas")
1142
- }, getAsBlob: function (e, t) {
1143
- if (!this.size)throw new n.DOMException(n.DOMException.INVALID_STATE_ERR);
1144
- return e || (e = "image/jpeg"), "image/jpeg" !== e || t || (t = 90), this.getRuntime().exec.call(this, "Image", "getAsBlob", e, t)
1145
- }, getAsDataURL: function (e, t) {
1146
- if (!this.size)throw new n.DOMException(n.DOMException.INVALID_STATE_ERR);
1147
- return this.getRuntime().exec.call(this, "Image", "getAsDataURL", e, t)
1148
- }, getAsBinaryString: function (e, t) {
1149
- var n = this.getAsDataURL(e, t);
1150
- return f.atob(n.substring(n.indexOf("base64,") + 7))
1151
- }, embed: function (i) {
1152
- function r() {
1153
- if (u.can("create_canvas")) {
1154
- var t = a.getAsCanvas();
1155
- if (t)return i.appendChild(t), t = null, a.destroy(), o.trigger("embedded"), void 0
1156
- }
1157
- var r = a.getAsDataURL(c, l);
1158
- if (!r)throw new n.ImageError(n.ImageError.WRONG_FORMAT);
1159
- if (u.can("use_data_uri_of", r.length))i.innerHTML = '<img src="' + r + '" width="' + a.width + '" height="' + a.height + '" />', a.destroy(), o.trigger("embedded"); else {
1160
- var d = new s;
1161
- d.bind("TransportingComplete", function () {
1162
- v = o.connectRuntime(this.result.ruid), o.bind("Embedded", function () {
1163
- e.extend(v.getShimContainer().style, {top: "0px", left: "0px", width: a.width + "px", height: a.height + "px"}), v = null
1164
- }, 999), v.exec.call(o, "ImageView", "display", this.result.uid, m, g), a.destroy()
1165
- }), d.transport(f.atob(r.substring(r.indexOf("base64,") + 7)), c, e.extend({}, h, {required_caps: {display_media: !0}, runtime_order: "flash,silverlight", container: i}))
1166
- }
1167
- }
1168
-
1169
- var o = this, a, c, l, d, h = arguments[1] || {}, m = this.width, g = this.height, v;
1170
- try {
1171
- if (!(i = t.get(i)))throw new n.DOMException(n.DOMException.INVALID_NODE_TYPE_ERR);
1172
- if (!this.size)throw new n.DOMException(n.DOMException.INVALID_STATE_ERR);
1173
- if (this.width > p.MAX_RESIZE_WIDTH || this.height > p.MAX_RESIZE_HEIGHT)throw new n.ImageError(n.ImageError.MAX_RESOLUTION_ERR);
1174
- if (c = h.type || this.type || "image/jpeg", l = h.quality || 90, d = "undefined" !== e.typeOf(h.crop) ? h.crop : !1, h.width)m = h.width, g = h.height || m; else {
1175
- var y = t.getSize(i);
1176
- y.w && y.h && (m = y.w, g = y.h)
1177
- }
1178
- return a = new p, a.bind("Resize", function () {
1179
- r.call(o)
1180
- }), a.bind("Load", function () {
1181
- a.downsize(m, g, d, !1)
1182
- }), a.clone(this, !1), a
1183
- } catch (w) {
1184
- this.trigger("error", w)
1185
- }
1186
- }, destroy: function () {
1187
- this.ruid && (this.getRuntime().exec.call(this, "Image", "destroy"), this.disconnectRuntime()), this.unbindAll()
1188
- }})
1189
- }
1190
-
1191
- var h = ["progress", "load", "error", "resize", "embedded"];
1192
- return p.MAX_RESIZE_WIDTH = 6500, p.MAX_RESIZE_HEIGHT = 6500, p.prototype = c.instance, p
1193
- }), i(D, [u, p, g, d], function (e, t, n, i) {
1194
- function r(t) {
1195
- var r = this, s = n.capTest, u = n.capTrue, c = e.extend({access_binary: s(window.FileReader || window.File && window.File.getAsDataURL), access_image_binary: function () {
1196
- return r.can("access_binary") && !!a.Image
1197
- }, display_media: s(i.can("create_canvas") || i.can("use_data_uri_over32kb")), do_cors: s(window.XMLHttpRequest && "withCredentials"in new XMLHttpRequest), drag_and_drop: s(function () {
1198
- var e = document.createElement("div");
1199
- return("draggable"in e || "ondragstart"in e && "ondrop"in e) && ("IE" !== i.browser || i.version > 9)
1200
- }()), filter_by_extension: s(function () {
1201
- return"Chrome" === i.browser && i.version >= 28 || "IE" === i.browser && i.version >= 10
1202
- }()), return_response_headers: u, return_response_type: function (e) {
1203
- return"json" === e && window.JSON ? !0 : i.can("return_response_type", e)
1204
- }, return_status_code: u, report_upload_progress: s(window.XMLHttpRequest && (new XMLHttpRequest).upload), resize_image: function () {
1205
- return r.can("access_binary") && i.can("create_canvas")
1206
- }, select_file: function () {
1207
- return i.can("use_fileinput") && window.File
1208
- }, select_folder: function () {
1209
- return r.can("select_file") && "Chrome" === i.browser && i.version >= 21
1210
- }, select_multiple: function () {
1211
- return!(!r.can("select_file") || "Safari" === i.browser && "Windows" === i.os || "iOS" === i.os && i.verComp(i.osVersion, "7.0.4", "<"))
1212
- }, send_binary_string: s(window.XMLHttpRequest && ((new XMLHttpRequest).sendAsBinary || window.Uint8Array && window.ArrayBuffer)), send_custom_headers: s(window.XMLHttpRequest), send_multipart: function () {
1213
- return!!(window.XMLHttpRequest && (new XMLHttpRequest).upload && window.FormData) || r.can("send_binary_string")
1214
- }, slice_blob: s(window.File && (File.prototype.mozSlice || File.prototype.webkitSlice || File.prototype.slice)), stream_upload: function () {
1215
- return r.can("slice_blob") && r.can("send_multipart")
1216
- }, summon_file_dialog: s(function () {
1217
- return"Firefox" === i.browser && i.version >= 4 || "Opera" === i.browser && i.version >= 12 || "IE" === i.browser && i.version >= 10 || !!~e.inArray(i.browser, ["Chrome", "Safari"])
1218
- }()), upload_filesize: u}, arguments[2]);
1219
- n.call(this, t, arguments[1] || o, c), e.extend(this, {init: function () {
1220
- this.trigger("Init")
1221
- }, destroy: function (e) {
1222
- return function () {
1223
- e.call(r), e = r = null
1224
- }
1225
- }(this.destroy)}), e.extend(this.getShim(), a)
1226
- }
1227
-
1228
- var o = "html5", a = {};
1229
- return n.addConstructor(o, r), a
1230
- }), i(N, [D, y], function (e, t) {
1231
- function n() {
1232
- function e(e, t, n) {
1233
- var i;
1234
- if (!window.File.prototype.slice)return(i = window.File.prototype.webkitSlice || window.File.prototype.mozSlice) ? i.call(e, t, n) : null;
1235
- try {
1236
- return e.slice(), e.slice(t, n)
1237
- } catch (r) {
1238
- return e.slice(t, n - t)
1239
- }
1240
- }
1241
-
1242
- this.slice = function () {
1243
- return new t(this.getRuntime().uid, e.apply(this, arguments))
1244
- }
1245
- }
1246
-
1247
- return e.Blob = n
1248
- }), i(L, [u], function (e) {
1249
- function t() {
1250
- this.returnValue = !1
1251
- }
1252
-
1253
- function n() {
1254
- this.cancelBubble = !0
1255
- }
1256
-
1257
- var i = {}, r = "moxie_" + e.guid(), o = function (o, a, s, u) {
1258
- var c, l;
1259
- a = a.toLowerCase(), o.addEventListener ? (c = s, o.addEventListener(a, c, !1)) : o.attachEvent && (c = function () {
1260
- var e = window.event;
1261
- e.target || (e.target = e.srcElement), e.preventDefault = t, e.stopPropagation = n, s(e)
1262
- }, o.attachEvent("on" + a, c)), o[r] || (o[r] = e.guid()), i.hasOwnProperty(o[r]) || (i[o[r]] = {}), l = i[o[r]], l.hasOwnProperty(a) || (l[a] = []), l[a].push({func: c, orig: s, key: u})
1263
- }, a = function (t, n, o) {
1264
- var a, s;
1265
- if (n = n.toLowerCase(), t[r] && i[t[r]] && i[t[r]][n]) {
1266
- a = i[t[r]][n];
1267
- for (var u = a.length - 1; u >= 0 && (a[u].orig !== o && a[u].key !== o || (t.removeEventListener ? t.removeEventListener(n, a[u].func, !1) : t.detachEvent && t.detachEvent("on" + n, a[u].func), a[u].orig = null, a[u].func = null, a.splice(u, 1), o === s)); u--);
1268
- if (a.length || delete i[t[r]][n], e.isEmptyObj(i[t[r]])) {
1269
- delete i[t[r]];
1270
- try {
1271
- delete t[r]
1272
- } catch (c) {
1273
- t[r] = s
1274
- }
1275
- }
1276
- }
1277
- }, s = function (t, n) {
1278
- t && t[r] && e.each(i[t[r]], function (e, i) {
1279
- a(t, i, n)
1280
- })
1281
- };
1282
- return{addEvent: o, removeEvent: a, removeAllEvents: s}
1283
- }), i(M, [D, u, f, L, l, d], function (e, t, n, i, r, o) {
1284
- function a() {
1285
- var e = [], a;
1286
- t.extend(this, {init: function (s) {
1287
- var u = this, c = u.getRuntime(), l, d, f, p, h, m;
1288
- a = s, e = [], f = a.accept.mimes || r.extList2mimes(a.accept, c.can("filter_by_extension")), d = c.getShimContainer(), d.innerHTML = '<input id="' + c.uid + '" type="file" style="font-size:999px;opacity:0;"' + (a.multiple && c.can("select_multiple") ? "multiple" : "") + (a.directory && c.can("select_folder") ? "webkitdirectory directory" : "") + (f ? ' accept="' + f.join(",") + '"' : "") + " />", l = n.get(c.uid), t.extend(l.style, {position: "absolute", top: 0, left: 0, width: "100%", height: "100%"}), p = n.get(a.browse_button), c.can("summon_file_dialog") && ("static" === n.getStyle(p, "position") && (p.style.position = "relative"), h = parseInt(n.getStyle(p, "z-index"), 10) || 1, p.style.zIndex = h, d.style.zIndex = h - 1, i.addEvent(p, "click", function (e) {
1289
- var t = n.get(c.uid);
1290
- t && !t.disabled && t.click(), e.preventDefault()
1291
- }, u.uid)), m = c.can("summon_file_dialog") ? p : d, i.addEvent(m, "mouseover", function () {
1292
- u.trigger("mouseenter")
1293
- }, u.uid), i.addEvent(m, "mouseout", function () {
1294
- u.trigger("mouseleave")
1295
- }, u.uid), i.addEvent(m, "mousedown", function () {
1296
- u.trigger("mousedown")
1297
- }, u.uid), i.addEvent(n.get(a.container), "mouseup", function () {
1298
- u.trigger("mouseup")
1299
- }, u.uid), l.onchange = function g() {
1300
- if (e = [], a.directory ? t.each(this.files, function (t) {
1301
- "." !== t.name && e.push(t)
1302
- }) : e = [].slice.call(this.files), "IE" !== o.browser)this.value = ""; else {
1303
- var n = this.cloneNode(!0);
1304
- this.parentNode.replaceChild(n, this), n.onchange = g
1305
- }
1306
- u.trigger("change")
1307
- }, u.trigger({type: "ready", async: !0}), d = null
1308
- }, getFiles: function () {
1309
- return e
1310
- }, disable: function (e) {
1311
- var t = this.getRuntime(), i;
1312
- (i = n.get(t.uid)) && (i.disabled = !!e)
1313
- }, destroy: function () {
1314
- var t = this.getRuntime(), r = t.getShim(), o = t.getShimContainer();
1315
- i.removeAllEvents(o, this.uid), i.removeAllEvents(a && n.get(a.container), this.uid), i.removeAllEvents(a && n.get(a.browse_button), this.uid), o && (o.innerHTML = ""), r.removeInstance(this.uid), e = a = o = r = null
1316
- }})
1317
- }
1318
-
1319
- return e.FileInput = a
1320
- }), i(C, [D, u, f, L, l], function (e, t, n, i, r) {
1321
- function o() {
1322
- function e(e) {
1323
- for (var n = [], i = 0; i < e.length; i++)[].push.apply(n, e[i].extensions.split(/\s*,\s*/));
1324
- return-1 === t.inArray("*", n) ? n : []
1325
- }
1326
-
1327
- function o(e) {
1328
- var n = r.getFileExtension(e.name);
1329
- return!n || !d.length || -1 !== t.inArray(n, d)
1330
- }
1331
-
1332
- function a(e, n) {
1333
- var i = [];
1334
- t.each(e, function (e) {
1335
- var t = e.webkitGetAsEntry();
1336
- if (t)if (t.isFile) {
1337
- var n = e.getAsFile();
1338
- o(n) && l.push(n)
1339
- } else i.push(t)
1340
- }), i.length ? s(i, n) : n()
1341
- }
1342
-
1343
- function s(e, n) {
1344
- var i = [];
1345
- t.each(e, function (e) {
1346
- i.push(function (t) {
1347
- u(e, t)
1348
- })
1349
- }), t.inSeries(i, function () {
1350
- n()
1351
- })
1352
- }
1353
-
1354
- function u(e, t) {
1355
- e.isFile ? e.file(function (e) {
1356
- o(e) && l.push(e), t()
1357
- }, function () {
1358
- t()
1359
- }) : e.isDirectory ? c(e, t) : t()
1360
- }
1361
-
1362
- function c(e, t) {
1363
- function n(e) {
1364
- r.readEntries(function (t) {
1365
- t.length ? ([].push.apply(i, t), n(e)) : e()
1366
- }, e)
1367
- }
1368
-
1369
- var i = [], r = e.createReader();
1370
- n(function () {
1371
- s(i, t)
1372
- })
1373
- }
1374
-
1375
- var l = [], d = [], f;
1376
- t.extend(this, {init: function (n) {
1377
- var r = this, s;
1378
- f = n, d = e(f.accept), s = f.container, i.addEvent(s, "dragover", function (e) {
1379
- e.preventDefault(), e.stopPropagation(), e.dataTransfer.dropEffect = "copy"
1380
- }, r.uid), i.addEvent(s, "drop", function (e) {
1381
- e.preventDefault(), e.stopPropagation(), l = [], e.dataTransfer.items && e.dataTransfer.items[0].webkitGetAsEntry ? a(e.dataTransfer.items, function () {
1382
- r.trigger("drop")
1383
- }) : (t.each(e.dataTransfer.files, function (e) {
1384
- o(e) && l.push(e)
1385
- }), r.trigger("drop"))
1386
- }, r.uid), i.addEvent(s, "dragenter", function (e) {
1387
- e.preventDefault(), e.stopPropagation(), r.trigger("dragenter")
1388
- }, r.uid), i.addEvent(s, "dragleave", function (e) {
1389
- e.preventDefault(), e.stopPropagation(), r.trigger("dragleave")
1390
- }, r.uid)
1391
- }, getFiles: function () {
1392
- return l
1393
- }, destroy: function () {
1394
- i.removeAllEvents(f && n.get(f.container), this.uid), l = d = f = null
1395
- }})
1396
- }
1397
-
1398
- return e.FileDrop = o
1399
- }), i(F, [D, m, u], function (e, t, n) {
1400
- function i() {
1401
- function e(e) {
1402
- return t.atob(e.substring(e.indexOf("base64,") + 7))
1403
- }
1404
-
1405
- var i, r = !1;
1406
- n.extend(this, {read: function (e, t) {
1407
- var o = this;
1408
- i = new window.FileReader, i.addEventListener("progress", function (e) {
1409
- o.trigger(e)
1410
- }), i.addEventListener("load", function (e) {
1411
- o.trigger(e)
1412
- }), i.addEventListener("error", function (e) {
1413
- o.trigger(e, i.error)
1414
- }), i.addEventListener("loadend", function () {
1415
- i = null
1416
- }), "function" === n.typeOf(i[e]) ? (r = !1, i[e](t.getSource())) : "readAsBinaryString" === e && (r = !0, i.readAsDataURL(t.getSource()))
1417
- }, getResult: function () {
1418
- return i && i.result ? r ? e(i.result) : i.result : null
1419
- }, abort: function () {
1420
- i && i.abort()
1421
- }, destroy: function () {
1422
- i = null
1423
- }})
1424
- }
1425
-
1426
- return e.FileReader = i
1427
- }), i(H, [D, u, l, b, w, y, S, p, d], function (e, t, n, i, r, o, a, s, u) {
1428
- function c() {
1429
- function e(e, t) {
1430
- var n = this, i, r;
1431
- i = t.getBlob().getSource(), r = new window.FileReader, r.onload = function () {
1432
- t.append(t.getBlobName(), new o(null, {type: i.type, data: r.result})), f.send.call(n, e, t)
1433
- }, r.readAsBinaryString(i)
1434
- }
1435
-
1436
- function c() {
1437
- return!window.XMLHttpRequest || "IE" === u.browser && u.version < 8 ? function () {
1438
- for (var e = ["Msxml2.XMLHTTP.6.0", "Microsoft.XMLHTTP"], t = 0; t < e.length; t++)try {
1439
- return new ActiveXObject(e[t])
1440
- } catch (n) {
1441
- }
1442
- }() : new window.XMLHttpRequest
1443
- }
1444
-
1445
- function l(e) {
1446
- var t = e.responseXML, n = e.responseText;
1447
- return"IE" === u.browser && n && t && !t.documentElement && /[^\/]+\/[^\+]+\+xml/.test(e.getResponseHeader("Content-Type")) && (t = new window.ActiveXObject("Microsoft.XMLDOM"), t.async = !1, t.validateOnParse = !1, t.loadXML(n)), t && ("IE" === u.browser && 0 !== t.parseError || !t.documentElement || "parsererror" === t.documentElement.tagName) ? null : t
1448
- }
1449
-
1450
- function d(e) {
1451
- var t = "----moxieboundary" + (new Date).getTime(), n = "--", i = "\r\n", r = "", a = this.getRuntime();
1452
- if (!a.can("send_binary_string"))throw new s.RuntimeError(s.RuntimeError.NOT_SUPPORTED_ERR);
1453
- return p.setRequestHeader("Content-Type", "multipart/form-data; boundary=" + t), e.each(function (e, a) {
1454
- r += e instanceof o ? n + t + i + 'Content-Disposition: form-data; name="' + a + '"; filename="' + unescape(encodeURIComponent(e.name || "blob")) + '"' + i + "Content-Type: " + (e.type || "application/octet-stream") + i + i + e.getSource() + i : n + t + i + 'Content-Disposition: form-data; name="' + a + '"' + i + i + unescape(encodeURIComponent(e)) + i
1455
- }), r += n + t + n + i
1456
- }
1457
-
1458
- var f = this, p, h;
1459
- t.extend(this, {send: function (n, r) {
1460
- var s = this, l = "Mozilla" === u.browser && u.version >= 4 && u.version < 7, f = "Android Browser" === u.browser, m = !1;
1461
- if (h = n.url.replace(/^.+?\/([\w\-\.]+)$/, "$1").toLowerCase(), p = c(), p.open(n.method, n.url, n.async, n.user, n.password), r instanceof o)r.isDetached() && (m = !0), r = r.getSource(); else if (r instanceof a) {
1462
- if (r.hasBlob())if (r.getBlob().isDetached())r = d.call(s, r), m = !0; else if ((l || f) && "blob" === t.typeOf(r.getBlob().getSource()) && window.FileReader)return e.call(s, n, r), void 0;
1463
- if (r instanceof a) {
1464
- var g = new window.FormData;
1465
- r.each(function (e, t) {
1466
- e instanceof o ? g.append(t, e.getSource()) : g.append(t, e)
1467
- }), r = g
1468
- }
1469
- }
1470
- p.upload ? (n.withCredentials && (p.withCredentials = !0), p.addEventListener("load", function (e) {
1471
- s.trigger(e)
1472
- }), p.addEventListener("error", function (e) {
1473
- s.trigger(e)
1474
- }), p.addEventListener("progress", function (e) {
1475
- s.trigger(e)
1476
- }), p.upload.addEventListener("progress", function (e) {
1477
- s.trigger({type: "UploadProgress", loaded: e.loaded, total: e.total})
1478
- })) : p.onreadystatechange = function v() {
1479
- switch (p.readyState) {
1480
- case 1:
1481
- break;
1482
- case 2:
1483
- break;
1484
- case 3:
1485
- var e, t;
1486
- try {
1487
- i.hasSameOrigin(n.url) && (e = p.getResponseHeader("Content-Length") || 0), p.responseText && (t = p.responseText.length)
1488
- } catch (r) {
1489
- e = t = 0
1490
- }
1491
- s.trigger({type: "progress", lengthComputable: !!e, total: parseInt(e, 10), loaded: t});
1492
- break;
1493
- case 4:
1494
- p.onreadystatechange = function () {
1495
- }, 0 === p.status ? s.trigger("error") : s.trigger("load")
1496
- }
1497
- }, t.isEmptyObj(n.headers) || t.each(n.headers, function (e, t) {
1498
- p.setRequestHeader(t, e)
1499
- }), "" !== n.responseType && "responseType"in p && (p.responseType = "json" !== n.responseType || u.can("return_response_type", "json") ? n.responseType : "text"), m ? p.sendAsBinary ? p.sendAsBinary(r) : function () {
1500
- for (var e = new Uint8Array(r.length), t = 0; t < r.length; t++)e[t] = 255 & r.charCodeAt(t);
1501
- p.send(e.buffer)
1502
- }() : p.send(r), s.trigger("loadstart")
1503
- }, getStatus: function () {
1504
- try {
1505
- if (p)return p.status
1506
- } catch (e) {
1507
- }
1508
- return 0
1509
- }, getResponse: function (e) {
1510
- var t = this.getRuntime();
1511
- try {
1512
- switch (e) {
1513
- case"blob":
1514
- var i = new r(t.uid, p.response), o = p.getResponseHeader("Content-Disposition");
1515
- if (o) {
1516
- var a = o.match(/filename=([\'\"'])([^\1]+)\1/);
1517
- a && (h = a[2])
1518
- }
1519
- return i.name = h, i.type || (i.type = n.getFileMime(h)), i;
1520
- case"json":
1521
- return u.can("return_response_type", "json") ? p.response : 200 === p.status && window.JSON ? JSON.parse(p.responseText) : null;
1522
- case"document":
1523
- return l(p);
1524
- default:
1525
- return"" !== p.responseText ? p.responseText : null
1526
- }
1527
- } catch (s) {
1528
- return null
1529
- }
1530
- }, getAllResponseHeaders: function () {
1531
- try {
1532
- return p.getAllResponseHeaders()
1533
- } catch (e) {
1534
- }
1535
- return""
1536
- }, abort: function () {
1537
- p && p.abort()
1538
- }, destroy: function () {
1539
- f = h = null
1540
- }})
1541
- }
1542
-
1543
- return e.XMLHttpRequest = c
1544
- }), i(P, [], function () {
1545
- return function () {
1546
- function e(e, t) {
1547
- var n = r ? 0 : -8 * (t - 1), i = 0, a;
1548
- for (a = 0; t > a; a++)i |= o.charCodeAt(e + a) << Math.abs(n + 8 * a);
1549
- return i
1550
- }
1551
-
1552
- function n(e, t, n) {
1553
- n = 3 === arguments.length ? n : o.length - t - 1, o = o.substr(0, t) + e + o.substr(n + t)
1554
- }
1555
-
1556
- function i(e, t, i) {
1557
- var o = "", a = r ? 0 : -8 * (i - 1), s;
1558
- for (s = 0; i > s; s++)o += String.fromCharCode(255 & t >> Math.abs(a + 8 * s));
1559
- n(o, e, i)
1560
- }
1561
-
1562
- var r = !1, o;
1563
- return{II: function (e) {
1564
- return e === t ? r : (r = e, void 0)
1565
- }, init: function (e) {
1566
- r = !1, o = e
1567
- }, SEGMENT: function (e, t, i) {
1568
- switch (arguments.length) {
1569
- case 1:
1570
- return o.substr(e, o.length - e - 1);
1571
- case 2:
1572
- return o.substr(e, t);
1573
- case 3:
1574
- n(i, e, t);
1575
- break;
1576
- default:
1577
- return o
1578
- }
1579
- }, BYTE: function (t) {
1580
- return e(t, 1)
1581
- }, SHORT: function (t) {
1582
- return e(t, 2)
1583
- }, LONG: function (n, r) {
1584
- return r === t ? e(n, 4) : (i(n, r, 4), void 0)
1585
- }, SLONG: function (t) {
1586
- var n = e(t, 4);
1587
- return n > 2147483647 ? n - 4294967296 : n
1588
- }, STRING: function (t, n) {
1589
- var i = "";
1590
- for (n += t; n > t; t++)i += String.fromCharCode(e(t, 1));
1591
- return i
1592
- }}
1593
- }
1594
- }), i(k, [P], function (e) {
1595
- return function t(n) {
1596
- var i = [], r, o, a, s = 0;
1597
- if (r = new e, r.init(n), 65496 === r.SHORT(0)) {
1598
- for (o = 2; o <= n.length;)if (a = r.SHORT(o), a >= 65488 && 65495 >= a)o += 2; else {
1599
- if (65498 === a || 65497 === a)break;
1600
- s = r.SHORT(o + 2) + 2, a >= 65505 && 65519 >= a && i.push({hex: a, name: "APP" + (15 & a), start: o, length: s, segment: r.SEGMENT(o, s)}), o += s
1601
- }
1602
- return r.init(null), {headers: i, restore: function (e) {
1603
- var t, n;
1604
- for (r.init(e), o = 65504 == r.SHORT(2) ? 4 + r.SHORT(4) : 2, n = 0, t = i.length; t > n; n++)r.SEGMENT(o, 0, i[n].segment), o += i[n].length;
1605
- return e = r.SEGMENT(), r.init(null), e
1606
- }, strip: function (e) {
1607
- var n, i, o;
1608
- for (i = new t(e), n = i.headers, i.purge(), r.init(e), o = n.length; o--;)r.SEGMENT(n[o].start, n[o].length, "");
1609
- return e = r.SEGMENT(), r.init(null), e
1610
- }, get: function (e) {
1611
- for (var t = [], n = 0, r = i.length; r > n; n++)i[n].name === e.toUpperCase() && t.push(i[n].segment);
1612
- return t
1613
- }, set: function (e, t) {
1614
- var n = [], r, o, a;
1615
- for ("string" == typeof t ? n.push(t) : n = t, r = o = 0, a = i.length; a > r && (i[r].name === e.toUpperCase() && (i[r].segment = n[o], i[r].length = n[o].length, o++), !(o >= n.length)); r++);
1616
- }, purge: function () {
1617
- i = [], r.init(null), r = null
1618
- }}
1619
- }
1620
- }
1621
- }), i(U, [u, P], function (e, n) {
1622
- return function i() {
1623
- function i(e, n) {
1624
- var i = a.SHORT(e), r, o, s, u, d, f, p, h, m = [], g = {};
1625
- for (r = 0; i > r; r++)if (p = f = e + 12 * r + 2, s = n[a.SHORT(p)], s !== t) {
1626
- switch (u = a.SHORT(p += 2), d = a.LONG(p += 2), p += 4, m = [], u) {
1627
- case 1:
1628
- case 7:
1629
- for (d > 4 && (p = a.LONG(p) + c.tiffHeader), o = 0; d > o; o++)m[o] = a.BYTE(p + o);
1630
- break;
1631
- case 2:
1632
- d > 4 && (p = a.LONG(p) + c.tiffHeader), g[s] = a.STRING(p, d - 1);
1633
- continue;
1634
- case 3:
1635
- for (d > 2 && (p = a.LONG(p) + c.tiffHeader), o = 0; d > o; o++)m[o] = a.SHORT(p + 2 * o);
1636
- break;
1637
- case 4:
1638
- for (d > 1 && (p = a.LONG(p) + c.tiffHeader), o = 0; d > o; o++)m[o] = a.LONG(p + 4 * o);
1639
- break;
1640
- case 5:
1641
- for (p = a.LONG(p) + c.tiffHeader, o = 0; d > o; o++)m[o] = a.LONG(p + 4 * o) / a.LONG(p + 4 * o + 4);
1642
- break;
1643
- case 9:
1644
- for (p = a.LONG(p) + c.tiffHeader, o = 0; d > o; o++)m[o] = a.SLONG(p + 4 * o);
1645
- break;
1646
- case 10:
1647
- for (p = a.LONG(p) + c.tiffHeader, o = 0; d > o; o++)m[o] = a.SLONG(p + 4 * o) / a.SLONG(p + 4 * o + 4);
1648
- break;
1649
- default:
1650
- continue
1651
- }
1652
- h = 1 == d ? m[0] : m, g[s] = l.hasOwnProperty(s) && "object" != typeof h ? l[s][h] : h
1653
- }
1654
- return g
1655
- }
1656
-
1657
- function r() {
1658
- var e = c.tiffHeader;
1659
- return a.II(18761 == a.SHORT(e)), 42 !== a.SHORT(e += 2) ? !1 : (c.IFD0 = c.tiffHeader + a.LONG(e += 2), u = i(c.IFD0, s.tiff), "ExifIFDPointer"in u && (c.exifIFD = c.tiffHeader + u.ExifIFDPointer, delete u.ExifIFDPointer), "GPSInfoIFDPointer"in u && (c.gpsIFD = c.tiffHeader + u.GPSInfoIFDPointer, delete u.GPSInfoIFDPointer), !0)
1660
- }
1661
-
1662
- function o(e, t, n) {
1663
- var i, r, o, u = 0;
1664
- if ("string" == typeof t) {
1665
- var l = s[e.toLowerCase()];
1666
- for (var d in l)if (l[d] === t) {
1667
- t = d;
1668
- break
1669
- }
1670
- }
1671
- i = c[e.toLowerCase() + "IFD"], r = a.SHORT(i);
1672
- for (var f = 0; r > f; f++)if (o = i + 12 * f + 2, a.SHORT(o) == t) {
1673
- u = o + 8;
1674
- break
1675
- }
1676
- return u ? (a.LONG(u, n), !0) : !1
1677
- }
1678
-
1679
- var a, s, u, c = {}, l;
1680
- return a = new n, s = {tiff: {274: "Orientation", 270: "ImageDescription", 271: "Make", 272: "Model", 305: "Software", 34665: "ExifIFDPointer", 34853: "GPSInfoIFDPointer"}, exif: {36864: "ExifVersion", 40961: "ColorSpace", 40962: "PixelXDimension", 40963: "PixelYDimension", 36867: "DateTimeOriginal", 33434: "ExposureTime", 33437: "FNumber", 34855: "ISOSpeedRatings", 37377: "ShutterSpeedValue", 37378: "ApertureValue", 37383: "MeteringMode", 37384: "LightSource", 37385: "Flash", 37386: "FocalLength", 41986: "ExposureMode", 41987: "WhiteBalance", 41990: "SceneCaptureType", 41988: "DigitalZoomRatio", 41992: "Contrast", 41993: "Saturation", 41994: "Sharpness"}, gps: {0: "GPSVersionID", 1: "GPSLatitudeRef", 2: "GPSLatitude", 3: "GPSLongitudeRef", 4: "GPSLongitude"}}, l = {ColorSpace: {1: "sRGB", 0: "Uncalibrated"}, MeteringMode: {0: "Unknown", 1: "Average", 2: "CenterWeightedAverage", 3: "Spot", 4: "MultiSpot", 5: "Pattern", 6: "Partial", 255: "Other"}, LightSource: {1: "Daylight", 2: "Fliorescent", 3: "Tungsten", 4: "Flash", 9: "Fine weather", 10: "Cloudy weather", 11: "Shade", 12: "Daylight fluorescent (D 5700 - 7100K)", 13: "Day white fluorescent (N 4600 -5400K)", 14: "Cool white fluorescent (W 3900 - 4500K)", 15: "White fluorescent (WW 3200 - 3700K)", 17: "Standard light A", 18: "Standard light B", 19: "Standard light C", 20: "D55", 21: "D65", 22: "D75", 23: "D50", 24: "ISO studio tungsten", 255: "Other"}, Flash: {0: "Flash did not fire.", 1: "Flash fired.", 5: "Strobe return light not detected.", 7: "Strobe return light detected.", 9: "Flash fired, compulsory flash mode", 13: "Flash fired, compulsory flash mode, return light not detected", 15: "Flash fired, compulsory flash mode, return light detected", 16: "Flash did not fire, compulsory flash mode", 24: "Flash did not fire, auto mode", 25: "Flash fired, auto mode", 29: "Flash fired, auto mode, return light not detected", 31: "Flash fired, auto mode, return light detected", 32: "No flash function", 65: "Flash fired, red-eye reduction mode", 69: "Flash fired, red-eye reduction mode, return light not detected", 71: "Flash fired, red-eye reduction mode, return light detected", 73: "Flash fired, compulsory flash mode, red-eye reduction mode", 77: "Flash fired, compulsory flash mode, red-eye reduction mode, return light not detected", 79: "Flash fired, compulsory flash mode, red-eye reduction mode, return light detected", 89: "Flash fired, auto mode, red-eye reduction mode", 93: "Flash fired, auto mode, return light not detected, red-eye reduction mode", 95: "Flash fired, auto mode, return light detected, red-eye reduction mode"}, ExposureMode: {0: "Auto exposure", 1: "Manual exposure", 2: "Auto bracket"}, WhiteBalance: {0: "Auto white balance", 1: "Manual white balance"}, SceneCaptureType: {0: "Standard", 1: "Landscape", 2: "Portrait", 3: "Night scene"}, Contrast: {0: "Normal", 1: "Soft", 2: "Hard"}, Saturation: {0: "Normal", 1: "Low saturation", 2: "High saturation"}, Sharpness: {0: "Normal", 1: "Soft", 2: "Hard"}, GPSLatitudeRef: {N: "North latitude", S: "South latitude"}, GPSLongitudeRef: {E: "East longitude", W: "West longitude"}}, {init: function (e) {
1681
- return c = {tiffHeader: 10}, e !== t && e.length ? (a.init(e), 65505 === a.SHORT(0) && "EXIF\0" === a.STRING(4, 5).toUpperCase() ? r() : !1) : !1
1682
- }, TIFF: function () {
1683
- return u
1684
- }, EXIF: function () {
1685
- var t;
1686
- if (t = i(c.exifIFD, s.exif), t.ExifVersion && "array" === e.typeOf(t.ExifVersion)) {
1687
- for (var n = 0, r = ""; n < t.ExifVersion.length; n++)r += String.fromCharCode(t.ExifVersion[n]);
1688
- t.ExifVersion = r
1689
- }
1690
- return t
1691
- }, GPS: function () {
1692
- var t;
1693
- return t = i(c.gpsIFD, s.gps), t.GPSVersionID && "array" === e.typeOf(t.GPSVersionID) && (t.GPSVersionID = t.GPSVersionID.join(".")), t
1694
- }, setExif: function (e, t) {
1695
- return"PixelXDimension" !== e && "PixelYDimension" !== e ? !1 : o("exif", e, t)
1696
- }, getBinary: function () {
1697
- return a.SEGMENT()
1698
- }, purge: function () {
1699
- a.init(null), a = u = null, c = {}
1700
- }}
1701
- }
1702
- }), i(B, [u, p, k, P, U], function (e, t, n, i, r) {
1703
- function o(o) {
1704
- function a() {
1705
- for (var e = 0, t, n; e <= u.length;) {
1706
- if (t = c.SHORT(e += 2), t >= 65472 && 65475 >= t)return e += 5, {height: c.SHORT(e), width: c.SHORT(e += 2)};
1707
- n = c.SHORT(e += 2), e += n - 2
1708
- }
1709
- return null
1710
- }
1711
-
1712
- function s() {
1713
- d && l && c && (d.purge(), l.purge(), c.init(null), u = f = l = d = c = null)
1714
- }
1715
-
1716
- var u, c, l, d, f, p;
1717
- if (u = o, c = new i, c.init(u), 65496 !== c.SHORT(0))throw new t.ImageError(t.ImageError.WRONG_FORMAT);
1718
- l = new n(o), d = new r, p = !!d.init(l.get("app1")[0]), f = a.call(this), e.extend(this, {type: "image/jpeg", size: u.length, width: f && f.width || 0, height: f && f.height || 0, setExif: function (t, n) {
1719
- return p ? ("object" === e.typeOf(t) ? e.each(t, function (e, t) {
1720
- d.setExif(t, e)
1721
- }) : d.setExif(t, n), l.set("app1", d.getBinary()), void 0) : !1
1722
- }, writeHeaders: function () {
1723
- return arguments.length ? l.restore(arguments[0]) : u = l.restore(u)
1724
- }, stripHeaders: function (e) {
1725
- return l.strip(e)
1726
- }, purge: function () {
1727
- s.call(this)
1728
- }}), p && (this.meta = {tiff: d.TIFF(), exif: d.EXIF(), gps: d.GPS()})
1729
- }
1730
-
1731
- return o
1732
- }), i(z, [p, u, P], function (e, t, n) {
1733
- function i(i) {
1734
- function r() {
1735
- var e, t;
1736
- return e = a.call(this, 8), "IHDR" == e.type ? (t = e.start, {width: u.LONG(t), height: u.LONG(t += 4)}) : null
1737
- }
1738
-
1739
- function o() {
1740
- u && (u.init(null), s = d = c = l = u = null)
1741
- }
1742
-
1743
- function a(e) {
1744
- var t, n, i, r;
1745
- return t = u.LONG(e), n = u.STRING(e += 4, 4), i = e += 4, r = u.LONG(e + t), {length: t, type: n, start: i, CRC: r}
1746
- }
1747
-
1748
- var s, u, c, l, d;
1749
- s = i, u = new n, u.init(s), function () {
1750
- var t = 0, n = 0, i = [35152, 20039, 3338, 6666];
1751
- for (n = 0; n < i.length; n++, t += 2)if (i[n] != u.SHORT(t))throw new e.ImageError(e.ImageError.WRONG_FORMAT)
1752
- }(), d = r.call(this), t.extend(this, {type: "image/png", size: s.length, width: d.width, height: d.height, purge: function () {
1753
- o.call(this)
1754
- }}), o.call(this)
1755
- }
1756
-
1757
- return i
1758
- }), i(G, [u, p, B, z], function (e, t, n, i) {
1759
- return function (r) {
1760
- var o = [n, i], a;
1761
- a = function () {
1762
- for (var e = 0; e < o.length; e++)try {
1763
- return new o[e](r)
1764
- } catch (n) {
1765
- }
1766
- throw new t.ImageError(t.ImageError.WRONG_FORMAT)
1767
- }(), e.extend(this, {type: "", size: 0, width: 0, height: 0, setExif: function () {
1768
- }, writeHeaders: function (e) {
1769
- return e
1770
- }, stripHeaders: function (e) {
1771
- return e
1772
- }, purge: function () {
1773
- }}), e.extend(this, a), this.purge = function () {
1774
- a.purge(), a = null
1775
- }
1776
- }
1777
- }), i(q, [], function () {
1778
- function e(e, i, r) {
1779
- var o = e.naturalWidth, a = e.naturalHeight, s = r.width, u = r.height, c = r.x || 0, l = r.y || 0, d = i.getContext("2d");
1780
- t(e) && (o /= 2, a /= 2);
1781
- var f = 1024, p = document.createElement("canvas");
1782
- p.width = p.height = f;
1783
- for (var h = p.getContext("2d"), m = n(e, o, a), g = 0; a > g;) {
1784
- for (var v = g + f > a ? a - g : f, y = 0; o > y;) {
1785
- var w = y + f > o ? o - y : f;
1786
- h.clearRect(0, 0, f, f), h.drawImage(e, -y, -g);
1787
- var E = y * s / o + c << 0, _ = Math.ceil(w * s / o), x = g * u / a / m + l << 0, R = Math.ceil(v * u / a / m);
1788
- d.drawImage(p, 0, 0, w, v, E, x, _, R), y += f
1789
- }
1790
- g += f
1791
- }
1792
- p = h = null
1793
- }
1794
-
1795
- function t(e) {
1796
- var t = e.naturalWidth, n = e.naturalHeight;
1797
- if (t * n > 1048576) {
1798
- var i = document.createElement("canvas");
1799
- i.width = i.height = 1;
1800
- var r = i.getContext("2d");
1801
- return r.drawImage(e, -t + 1, 0), 0 === r.getImageData(0, 0, 1, 1).data[3]
1802
- }
1803
- return!1
1804
- }
1805
-
1806
- function n(e, t, n) {
1807
- var i = document.createElement("canvas");
1808
- i.width = 1, i.height = n;
1809
- var r = i.getContext("2d");
1810
- r.drawImage(e, 0, 0);
1811
- for (var o = r.getImageData(0, 0, 1, n).data, a = 0, s = n, u = n; u > a;) {
1812
- var c = o[4 * (u - 1) + 3];
1813
- 0 === c ? s = u : a = u, u = s + a >> 1
1814
- }
1815
- i = null;
1816
- var l = u / n;
1817
- return 0 === l ? 1 : l
1818
- }
1819
-
1820
- return{isSubsampled: t, renderTo: e}
1821
- }), i(X, [D, u, p, m, w, G, q, l, d], function (e, t, n, i, r, o, a, s, u) {
1822
- function c() {
1823
- function e() {
1824
- if (!E && !y)throw new n.ImageError(n.DOMException.INVALID_STATE_ERR);
1825
- return E || y
1826
- }
1827
-
1828
- function c(e) {
1829
- return i.atob(e.substring(e.indexOf("base64,") + 7))
1830
- }
1831
-
1832
- function l(e, t) {
1833
- return"data:" + (t || "") + ";base64," + i.btoa(e)
1834
- }
1835
-
1836
- function d(e) {
1837
- var t = this;
1838
- y = new Image, y.onerror = function () {
1839
- g.call(this), t.trigger("error", new n.ImageError(n.ImageError.WRONG_FORMAT))
1840
- }, y.onload = function () {
1841
- t.trigger("load")
1842
- }, y.src = /^data:[^;]*;base64,/.test(e) ? e : l(e, x.type)
1843
- }
1844
-
1845
- function f(e, t) {
1846
- var i = this, r;
1847
- return window.FileReader ? (r = new FileReader, r.onload = function () {
1848
- t(this.result)
1849
- }, r.onerror = function () {
1850
- i.trigger("error", new n.FileException(n.FileException.NOT_READABLE_ERR))
1851
- }, r.readAsDataURL(e), void 0) : t(e.getAsDataURL())
1852
- }
1853
-
1854
- function p(n, i, r, o) {
1855
- var a = this, s, u, c = 0, l = 0, d, f, p, g;
1856
- if (b = o, g = this.meta && this.meta.tiff && this.meta.tiff.Orientation || 1, -1 !== t.inArray(g, [5, 6, 7, 8])) {
1857
- var v = n;
1858
- n = i, i = v
1859
- }
1860
- return d = e(), u = r ? Math.max : Math.min, s = u(n / d.width, i / d.height), s > 1 && (!r || o) ? (this.trigger("Resize"), void 0) : (E || (E = document.createElement("canvas")), f = Math.round(d.width * s), p = Math.round(d.height * s), r ? (E.width = n, E.height = i, f > n && (c = Math.round((f - n) / 2)), p > i && (l = Math.round((p - i) / 2))) : (E.width = f, E.height = p), b || m(E.width, E.height, g), h.call(this, d, E, -c, -l, f, p), this.width = E.width, this.height = E.height, R = !0, a.trigger("Resize"), void 0)
1861
- }
1862
-
1863
- function h(e, t, n, i, r, o) {
1864
- if ("iOS" === u.OS)a.renderTo(e, t, {width: r, height: o, x: n, y: i}); else {
1865
- var s = t.getContext("2d");
1866
- s.drawImage(e, n, i, r, o)
1867
- }
1868
- }
1869
-
1870
- function m(e, t, n) {
1871
- switch (n) {
1872
- case 5:
1873
- case 6:
1874
- case 7:
1875
- case 8:
1876
- E.width = t, E.height = e;
1877
- break;
1878
- default:
1879
- E.width = e, E.height = t
1880
- }
1881
- var i = E.getContext("2d");
1882
- switch (n) {
1883
- case 2:
1884
- i.translate(e, 0), i.scale(-1, 1);
1885
- break;
1886
- case 3:
1887
- i.translate(e, t), i.rotate(Math.PI);
1888
- break;
1889
- case 4:
1890
- i.translate(0, t), i.scale(1, -1);
1891
- break;
1892
- case 5:
1893
- i.rotate(.5 * Math.PI), i.scale(1, -1);
1894
- break;
1895
- case 6:
1896
- i.rotate(.5 * Math.PI), i.translate(0, -t);
1897
- break;
1898
- case 7:
1899
- i.rotate(.5 * Math.PI), i.translate(e, -t), i.scale(-1, 1);
1900
- break;
1901
- case 8:
1902
- i.rotate(-.5 * Math.PI), i.translate(-e, 0)
1903
- }
1904
- }
1905
-
1906
- function g() {
1907
- w && (w.purge(), w = null), _ = y = E = x = null, R = !1
1908
- }
1909
-
1910
- var v = this, y, w, E, _, x, R = !1, b = !0;
1911
- t.extend(this, {loadFromBlob: function (e) {
1912
- var t = this, i = t.getRuntime(), r = arguments.length > 1 ? arguments[1] : !0;
1913
- if (!i.can("access_binary"))throw new n.RuntimeError(n.RuntimeError.NOT_SUPPORTED_ERR);
1914
- return x = e, e.isDetached() ? (_ = e.getSource(), d.call(this, _), void 0) : (f.call(this, e.getSource(), function (e) {
1915
- r && (_ = c(e)), d.call(t, e)
1916
- }), void 0)
1917
- }, loadFromImage: function (e, t) {
1918
- this.meta = e.meta, x = new r(null, {name: e.name, size: e.size, type: e.type}), d.call(this, t ? _ = e.getAsBinaryString() : e.getAsDataURL())
1919
- }, getInfo: function () {
1920
- var t = this.getRuntime(), n;
1921
- return!w && _ && t.can("access_image_binary") && (w = new o(_)), n = {width: e().width || 0, height: e().height || 0, type: x.type || s.getFileMime(x.name), size: _ && _.length || x.size || 0, name: x.name || "", meta: w && w.meta || this.meta || {}}
1922
- }, downsize: function () {
1923
- p.apply(this, arguments)
1924
- }, getAsCanvas: function () {
1925
- return E && (E.id = this.uid + "_canvas"), E
1926
- }, getAsBlob: function (e, t) {
1927
- return e !== this.type && p.call(this, this.width, this.height, !1), new r(null, {name: x.name || "", type: e, data: v.getAsBinaryString.call(this, e, t)})
1928
- }, getAsDataURL: function (e) {
1929
- var t = arguments[1] || 90;
1930
- if (!R)return y.src;
1931
- if ("image/jpeg" !== e)return E.toDataURL("image/png");
1932
- try {
1933
- return E.toDataURL("image/jpeg", t / 100)
1934
- } catch (n) {
1935
- return E.toDataURL("image/jpeg")
1936
- }
1937
- }, getAsBinaryString: function (e, t) {
1938
- if (!R)return _ || (_ = c(v.getAsDataURL(e, t))), _;
1939
- if ("image/jpeg" !== e)_ = c(v.getAsDataURL(e, t)); else {
1940
- var n;
1941
- t || (t = 90);
1942
- try {
1943
- n = E.toDataURL("image/jpeg", t / 100)
1944
- } catch (i) {
1945
- n = E.toDataURL("image/jpeg")
1946
- }
1947
- _ = c(n), w && (_ = w.stripHeaders(_), b && (w.meta && w.meta.exif && w.setExif({PixelXDimension: this.width, PixelYDimension: this.height}), _ = w.writeHeaders(_)), w.purge(), w = null)
1948
- }
1949
- return R = !1, _
1950
- }, destroy: function () {
1951
- v = null, g.call(this), this.getRuntime().getShim().removeInstance(this.uid)
1952
- }})
1953
- }
1954
-
1955
- return e.Image = c
1956
- }), i(j, [u, d, f, p, g], function (e, t, n, i, r) {
1957
- function o() {
1958
- var e;
1959
- try {
1960
- e = navigator.plugins["Shockwave Flash"], e = e.description
1961
- } catch (t) {
1962
- try {
1963
- e = new ActiveXObject("ShockwaveFlash.ShockwaveFlash").GetVariable("$version")
1964
- } catch (n) {
1965
- e = "0.0"
1966
- }
1967
- }
1968
- return e = e.match(/\d+/g), parseFloat(e[0] + "." + e[1])
1969
- }
1970
-
1971
- function a(a) {
1972
- var c = this, l;
1973
- a = e.extend({swf_url: t.swf_url}, a), r.call(this, a, s, {access_binary: function (e) {
1974
- return e && "browser" === c.mode
1975
- }, access_image_binary: function (e) {
1976
- return e && "browser" === c.mode
1977
- }, display_media: r.capTrue, do_cors: r.capTrue, drag_and_drop: !1, report_upload_progress: function () {
1978
- return"client" === c.mode
1979
- }, resize_image: r.capTrue, return_response_headers: !1, return_response_type: function (t) {
1980
- return"json" === t && window.JSON ? !0 : !e.arrayDiff(t, ["", "text", "document"]) || "browser" === c.mode
1981
- }, return_status_code: function (t) {
1982
- return"browser" === c.mode || !e.arrayDiff(t, [200, 404])
1983
- }, select_file: r.capTrue, select_multiple: r.capTrue, send_binary_string: function (e) {
1984
- return e && "browser" === c.mode
1985
- }, send_browser_cookies: function (e) {
1986
- return e && "browser" === c.mode
1987
- }, send_custom_headers: function (e) {
1988
- return e && "browser" === c.mode
1989
- }, send_multipart: r.capTrue, slice_blob: r.capTrue, stream_upload: function (e) {
1990
- return e && "browser" === c.mode
1991
- }, summon_file_dialog: !1, upload_filesize: function (t) {
1992
- return e.parseSizeStr(t) <= 2097152 || "client" === c.mode
1993
- }, use_http_method: function (t) {
1994
- return!e.arrayDiff(t, ["GET", "POST"])
1995
- }}, {access_binary: function (e) {
1996
- return e ? "browser" : "client"
1997
- }, access_image_binary: function (e) {
1998
- return e ? "browser" : "client"
1999
- }, report_upload_progress: function (e) {
2000
- return e ? "browser" : "client"
2001
- }, return_response_type: function (t) {
2002
- return e.arrayDiff(t, ["", "text", "json", "document"]) ? "browser" : ["client", "browser"]
2003
- }, return_status_code: function (t) {
2004
- return e.arrayDiff(t, [200, 404]) ? "browser" : ["client", "browser"]
2005
- }, send_binary_string: function (e) {
2006
- return e ? "browser" : "client"
2007
- }, send_browser_cookies: function (e) {
2008
- return e ? "browser" : "client"
2009
- }, send_custom_headers: function (e) {
2010
- return e ? "browser" : "client"
2011
- }, stream_upload: function (e) {
2012
- return e ? "client" : "browser"
2013
- }, upload_filesize: function (t) {
2014
- return e.parseSizeStr(t) >= 2097152 ? "client" : "browser"
2015
- }}, "client"), o() < 10 && (this.mode = !1), e.extend(this, {getShim: function () {
2016
- return n.get(this.uid)
2017
- }, shimExec: function (e, t) {
2018
- var n = [].slice.call(arguments, 2);
2019
- return c.getShim().exec(this.uid, e, t, n)
2020
- }, init: function () {
2021
- var n, r, o;
2022
- o = this.getShimContainer(), e.extend(o.style, {position: "absolute", top: "-8px", left: "-8px", width: "9px", height: "9px", overflow: "hidden"}), n = '<object id="' + this.uid + '" type="application/x-shockwave-flash" data="' + a.swf_url + '" ', "IE" === t.browser && (n += 'classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" '), n += 'width="100%" height="100%" style="outline:0"><param name="movie" value="' + a.swf_url + '" />' + '<param name="flashvars" value="uid=' + escape(this.uid) + "&target=" + t.global_event_dispatcher + '" />' + '<param name="wmode" value="transparent" />' + '<param name="allowscriptaccess" value="always" />' + "</object>", "IE" === t.browser ? (r = document.createElement("div"), o.appendChild(r), r.outerHTML = n, r = o = null) : o.innerHTML = n, l = setTimeout(function () {
2023
- c && !c.initialized && c.trigger("Error", new i.RuntimeError(i.RuntimeError.NOT_INIT_ERR))
2024
- }, 5e3)
2025
- }, destroy: function (e) {
2026
- return function () {
2027
- e.call(c), clearTimeout(l), a = l = e = c = null
2028
- }
2029
- }(this.destroy)}, u)
2030
- }
2031
-
2032
- var s = "flash", u = {};
2033
- return r.addConstructor(s, a), u
2034
- }), i(V, [j, y], function (e, t) {
2035
- var n = {slice: function (e, n, i, r) {
2036
- var o = this.getRuntime();
2037
- return 0 > n ? n = Math.max(e.size + n, 0) : n > 0 && (n = Math.min(n, e.size)), 0 > i ? i = Math.max(e.size + i, 0) : i > 0 && (i = Math.min(i, e.size)), e = o.shimExec.call(this, "Blob", "slice", n, i, r || ""), e && (e = new t(o.uid, e)), e
2038
- }};
2039
- return e.Blob = n
2040
- }), i(W, [j], function (e) {
2041
- var t = {init: function (e) {
2042
- this.getRuntime().shimExec.call(this, "FileInput", "init", {name: e.name, accept: e.accept, multiple: e.multiple}), this.trigger("ready")
2043
- }};
2044
- return e.FileInput = t
2045
- }), i(Y, [j, m], function (e, t) {
2046
- function n(e, n) {
2047
- switch (n) {
2048
- case"readAsText":
2049
- return t.atob(e, "utf8");
2050
- case"readAsBinaryString":
2051
- return t.atob(e);
2052
- case"readAsDataURL":
2053
- return e
2054
- }
2055
- return null
2056
- }
2057
-
2058
- var i = "", r = {read: function (e, t) {
2059
- var r = this, o = r.getRuntime();
2060
- return"readAsDataURL" === e && (i = "data:" + (t.type || "") + ";base64,"), r.bind("Progress", function (t, r) {
2061
- r && (i += n(r, e))
2062
- }), o.shimExec.call(this, "FileReader", "readAsBase64", t.uid)
2063
- }, getResult: function () {
2064
- return i
2065
- }, destroy: function () {
2066
- i = null
2067
- }};
2068
- return e.FileReader = r
2069
- }), i($, [j, m], function (e, t) {
2070
- function n(e, n) {
2071
- switch (n) {
2072
- case"readAsText":
2073
- return t.atob(e, "utf8");
2074
- case"readAsBinaryString":
2075
- return t.atob(e);
2076
- case"readAsDataURL":
2077
- return e
2078
- }
2079
- return null
2080
- }
2081
-
2082
- var i = {read: function (e, t) {
2083
- var i, r = this.getRuntime();
2084
- return(i = r.shimExec.call(this, "FileReaderSync", "readAsBase64", t.uid)) ? ("readAsDataURL" === e && (i = "data:" + (t.type || "") + ";base64," + i), n(i, e, t.type)) : null
2085
- }};
2086
- return e.FileReaderSync = i
2087
- }), i(J, [j, u, y, w, T, S, O], function (e, t, n, i, r, o, a) {
2088
- var s = {send: function (e, i) {
2089
- function r() {
2090
- e.transport = l.mode, l.shimExec.call(c, "XMLHttpRequest", "send", e, i)
2091
- }
2092
-
2093
- function s(e, t) {
2094
- l.shimExec.call(c, "XMLHttpRequest", "appendBlob", e, t.uid), i = null, r()
2095
- }
2096
-
2097
- function u(e, t) {
2098
- var n = new a;
2099
- n.bind("TransportingComplete", function () {
2100
- t(this.result)
2101
- }), n.transport(e.getSource(), e.type, {ruid: l.uid})
2102
- }
2103
-
2104
- var c = this, l = c.getRuntime();
2105
- if (t.isEmptyObj(e.headers) || t.each(e.headers, function (e, t) {
2106
- l.shimExec.call(c, "XMLHttpRequest", "setRequestHeader", t, e.toString())
2107
- }), i instanceof o) {
2108
- var d;
2109
- if (i.each(function (e, t) {
2110
- e instanceof n ? d = t : l.shimExec.call(c, "XMLHttpRequest", "append", t, e)
2111
- }), i.hasBlob()) {
2112
- var f = i.getBlob();
2113
- f.isDetached() ? u(f, function (e) {
2114
- f.destroy(), s(d, e)
2115
- }) : s(d, f)
2116
- } else i = null, r()
2117
- } else i instanceof n ? i.isDetached() ? u(i, function (e) {
2118
- i.destroy(), i = e.uid, r()
2119
- }) : (i = i.uid, r()) : r()
2120
- }, getResponse: function (e) {
2121
- var n, o, a = this.getRuntime();
2122
- if (o = a.shimExec.call(this, "XMLHttpRequest", "getResponseAsBlob")) {
2123
- if (o = new i(a.uid, o), "blob" === e)return o;
2124
- try {
2125
- if (n = new r, ~t.inArray(e, ["", "text"]))return n.readAsText(o);
2126
- if ("json" === e && window.JSON)return JSON.parse(n.readAsText(o))
2127
- } finally {
2128
- o.destroy()
2129
- }
2130
- }
2131
- return null
2132
- }, abort: function (e) {
2133
- var t = this.getRuntime();
2134
- t.shimExec.call(this, "XMLHttpRequest", "abort"), this.dispatchEvent("readystatechange"), this.dispatchEvent("abort")
2135
- }};
2136
- return e.XMLHttpRequest = s
2137
- }), i(Z, [j, y], function (e, t) {
2138
- var n = {getAsBlob: function (e) {
2139
- var n = this.getRuntime(), i = n.shimExec.call(this, "Transporter", "getAsBlob", e);
2140
- return i ? new t(n.uid, i) : null
2141
- }};
2142
- return e.Transporter = n
2143
- }), i(K, [j, u, O, y, T], function (e, t, n, i, r) {
2144
- var o = {loadFromBlob: function (e) {
2145
- function t(e) {
2146
- r.shimExec.call(i, "Image", "loadFromBlob", e.uid), i = r = null
2147
- }
2148
-
2149
- var i = this, r = i.getRuntime();
2150
- if (e.isDetached()) {
2151
- var o = new n;
2152
- o.bind("TransportingComplete", function () {
2153
- t(o.result.getSource())
2154
- }), o.transport(e.getSource(), e.type, {ruid: r.uid})
2155
- } else t(e.getSource())
2156
- }, loadFromImage: function (e) {
2157
- var t = this.getRuntime();
2158
- return t.shimExec.call(this, "Image", "loadFromImage", e.uid)
2159
- }, getAsBlob: function (e, t) {
2160
- var n = this.getRuntime(), r = n.shimExec.call(this, "Image", "getAsBlob", e, t);
2161
- return r ? new i(n.uid, r) : null
2162
- }, getAsDataURL: function () {
2163
- var e = this.getRuntime(), t = e.Image.getAsBlob.apply(this, arguments), n;
2164
- return t ? (n = new r, n.readAsDataURL(t)) : null
2165
- }};
2166
- return e.Image = o
2167
- }), i(Q, [u, d, f, p, g], function (e, t, n, i, r) {
2168
- function o(e) {
2169
- var t = !1, n = null, i, r, o, a, s, u = 0;
2170
- try {
2171
- try {
2172
- n = new ActiveXObject("AgControl.AgControl"), n.IsVersionSupported(e) && (t = !0), n = null
2173
- } catch (c) {
2174
- var l = navigator.plugins["Silverlight Plug-In"];
2175
- if (l) {
2176
- for (i = l.description, "1.0.30226.2" === i && (i = "2.0.30226.2"), r = i.split("."); r.length > 3;)r.pop();
2177
- for (; r.length < 4;)r.push(0);
2178
- for (o = e.split("."); o.length > 4;)o.pop();
2179
- do a = parseInt(o[u], 10), s = parseInt(r[u], 10), u++; while (u < o.length && a === s);
2180
- s >= a && !isNaN(a) && (t = !0)
2181
- }
2182
- }
2183
- } catch (d) {
2184
- t = !1
2185
- }
2186
- return t
2187
- }
2188
-
2189
- function a(a) {
2190
- var c = this, l;
2191
- a = e.extend({xap_url: t.xap_url}, a), r.call(this, a, s, {access_binary: r.capTrue, access_image_binary: r.capTrue, display_media: r.capTrue, do_cors: r.capTrue, drag_and_drop: !1, report_upload_progress: r.capTrue, resize_image: r.capTrue, return_response_headers: function (e) {
2192
- return e && "client" === c.mode
2193
- }, return_response_type: function (e) {
2194
- return"json" !== e ? !0 : !!window.JSON
2195
- }, return_status_code: function (t) {
2196
- return"client" === c.mode || !e.arrayDiff(t, [200, 404])
2197
- }, select_file: r.capTrue, select_multiple: r.capTrue, send_binary_string: r.capTrue, send_browser_cookies: function (e) {
2198
- return e && "browser" === c.mode
2199
- }, send_custom_headers: function (e) {
2200
- return e && "client" === c.mode
2201
- }, send_multipart: r.capTrue, slice_blob: r.capTrue, stream_upload: !0, summon_file_dialog: !1, upload_filesize: r.capTrue, use_http_method: function (t) {
2202
- return"client" === c.mode || !e.arrayDiff(t, ["GET", "POST"])
2203
- }}, {return_response_headers: function (e) {
2204
- return e ? "client" : "browser"
2205
- }, return_status_code: function (t) {
2206
- return e.arrayDiff(t, [200, 404]) ? "client" : ["client", "browser"]
2207
- }, send_browser_cookies: function (e) {
2208
- return e ? "browser" : "client"
2209
- }, send_custom_headers: function (e) {
2210
- return e ? "client" : "browser"
2211
- }, use_http_method: function (t) {
2212
- return e.arrayDiff(t, ["GET", "POST"]) ? "client" : ["client", "browser"]
2213
- }}), o("2.0.31005.0") && "Opera" !== t.browser || (this.mode = !1), e.extend(this, {getShim: function () {
2214
- return n.get(this.uid).content.Moxie
2215
- }, shimExec: function (e, t) {
2216
- var n = [].slice.call(arguments, 2);
2217
- return c.getShim().exec(this.uid, e, t, n)
2218
- }, init: function () {
2219
- var e;
2220
- e = this.getShimContainer(), e.innerHTML = '<object id="' + this.uid + '" data="data:application/x-silverlight," type="application/x-silverlight-2" width="100%" height="100%" style="outline:none;">' + '<param name="source" value="' + a.xap_url + '"/>' + '<param name="background" value="Transparent"/>' + '<param name="windowless" value="true"/>' + '<param name="enablehtmlaccess" value="true"/>' + '<param name="initParams" value="uid=' + this.uid + ",target=" + t.global_event_dispatcher + '"/>' + "</object>", l = setTimeout(function () {
2221
- c && !c.initialized && c.trigger("Error", new i.RuntimeError(i.RuntimeError.NOT_INIT_ERR))
2222
- }, "Windows" !== t.OS ? 1e4 : 5e3)
2223
- }, destroy: function (e) {
2224
- return function () {
2225
- e.call(c), clearTimeout(l), a = l = e = c = null
2226
- }
2227
- }(this.destroy)}, u)
2228
- }
2229
-
2230
- var s = "silverlight", u = {};
2231
- return r.addConstructor(s, a), u
2232
- }), i(et, [Q, u, V], function (e, t, n) {
2233
- return e.Blob = t.extend({}, n)
2234
- }), i(tt, [Q], function (e) {
2235
- var t = {init: function (e) {
2236
- function t(e) {
2237
- for (var t = "", n = 0; n < e.length; n++)t += ("" !== t ? "|" : "") + e[n].title + " | *." + e[n].extensions.replace(/,/g, ";*.");
2238
- return t
2239
- }
2240
-
2241
- this.getRuntime().shimExec.call(this, "FileInput", "init", t(e.accept), e.name, e.multiple), this.trigger("ready")
2242
- }};
2243
- return e.FileInput = t
2244
- }), i(nt, [Q, f, L], function (e, t, n) {
2245
- var i = {init: function () {
2246
- var e = this, i = e.getRuntime(), r;
2247
- return r = i.getShimContainer(), n.addEvent(r, "dragover", function (e) {
2248
- e.preventDefault(), e.stopPropagation(), e.dataTransfer.dropEffect = "copy"
2249
- }, e.uid), n.addEvent(r, "dragenter", function (e) {
2250
- e.preventDefault();
2251
- var n = t.get(i.uid).dragEnter(e);
2252
- n && e.stopPropagation()
2253
- }, e.uid), n.addEvent(r, "drop", function (e) {
2254
- e.preventDefault();
2255
- var n = t.get(i.uid).dragDrop(e);
2256
- n && e.stopPropagation()
2257
- }, e.uid), i.shimExec.call(this, "FileDrop", "init")
2258
- }};
2259
- return e.FileDrop = i
2260
- }), i(it, [Q, u, Y], function (e, t, n) {
2261
- return e.FileReader = t.extend({}, n)
2262
- }), i(rt, [Q, u, $], function (e, t, n) {
2263
- return e.FileReaderSync = t.extend({}, n)
2264
- }), i(ot, [Q, u, J], function (e, t, n) {
2265
- return e.XMLHttpRequest = t.extend({}, n)
2266
- }), i(at, [Q, u, Z], function (e, t, n) {
2267
- return e.Transporter = t.extend({}, n)
2268
- }), i(st, [Q, u, K], function (e, t, n) {
2269
- return e.Image = t.extend({}, n, {getInfo: function () {
2270
- var e = this.getRuntime(), n = ["tiff", "exif", "gps"], i = {meta: {}}, r = e.shimExec.call(this, "Image", "getInfo");
2271
- return r.meta && t.each(n, function (e) {
2272
- var t = r.meta[e], n, o, a, s;
2273
- if (t && t.keys)for (i.meta[e] = {}, o = 0, a = t.keys.length; a > o; o++)n = t.keys[o], s = t[n], s && (/^(\d|[1-9]\d+)$/.test(s) ? s = parseInt(s, 10) : /^\d*\.\d+$/.test(s) && (s = parseFloat(s)), i.meta[e][n] = s)
2274
- }), i.width = parseInt(r.width, 10), i.height = parseInt(r.height, 10), i.size = parseInt(r.size, 10), i.type = r.type, i.name = r.name, i
2275
- }})
2276
- }), i(ut, [u, p, g, d], function (e, t, n, i) {
2277
- function r(t) {
2278
- var r = this, s = n.capTest, u = n.capTrue;
2279
- n.call(this, t, o, {access_binary: s(window.FileReader || window.File && File.getAsDataURL), access_image_binary: !1, display_media: s(a.Image && (i.can("create_canvas") || i.can("use_data_uri_over32kb"))), do_cors: !1, drag_and_drop: !1, filter_by_extension: s(function () {
2280
- return"Chrome" === i.browser && i.version >= 28 || "IE" === i.browser && i.version >= 10
2281
- }()), resize_image: function () {
2282
- return a.Image && r.can("access_binary") && i.can("create_canvas")
2283
- }, report_upload_progress: !1, return_response_headers: !1, return_response_type: function (t) {
2284
- return"json" === t && window.JSON ? !0 : !!~e.inArray(t, ["text", "document", ""])
2285
- }, return_status_code: function (t) {
2286
- return!e.arrayDiff(t, [200, 404])
2287
- }, select_file: function () {
2288
- return i.can("use_fileinput")
2289
- }, select_multiple: !1, send_binary_string: !1, send_custom_headers: !1, send_multipart: !0, slice_blob: !1, stream_upload: function () {
2290
- return r.can("select_file")
2291
- }, summon_file_dialog: s(function () {
2292
- return"Firefox" === i.browser && i.version >= 4 || "Opera" === i.browser && i.version >= 12 || !!~e.inArray(i.browser, ["Chrome", "Safari"])
2293
- }()), upload_filesize: u, use_http_method: function (t) {
2294
- return!e.arrayDiff(t, ["GET", "POST"])
2295
- }}), e.extend(this, {init: function () {
2296
- this.trigger("Init")
2297
- }, destroy: function (e) {
2298
- return function () {
2299
- e.call(r), e = r = null
2300
- }
2301
- }(this.destroy)}), e.extend(this.getShim(), a)
2302
- }
2303
-
2304
- var o = "html4", a = {};
2305
- return n.addConstructor(o, r), a
2306
- }), i(ct, [ut, u, f, L, l, d], function (e, t, n, i, r, o) {
2307
- function a() {
2308
- function e() {
2309
- var r = this, l = r.getRuntime(), d, f, p, h, m, g;
2310
- g = t.guid("uid_"), d = l.getShimContainer(), a && (p = n.get(a + "_form"), p && t.extend(p.style, {top: "100%"})), h = document.createElement("form"), h.setAttribute("id", g + "_form"), h.setAttribute("method", "post"), h.setAttribute("enctype", "multipart/form-data"), h.setAttribute("encoding", "multipart/form-data"), t.extend(h.style, {overflow: "hidden", position: "absolute", top: 0, left: 0, width: "100%", height: "100%"}), m = document.createElement("input"), m.setAttribute("id", g), m.setAttribute("type", "file"), m.setAttribute("name", c.name || "Filedata"), m.setAttribute("accept", u.join(",")), t.extend(m.style, {fontSize: "999px", opacity: 0}), h.appendChild(m), d.appendChild(h), t.extend(m.style, {position: "absolute", top: 0, left: 0, width: "100%", height: "100%"}), "IE" === o.browser && o.version < 10 && t.extend(m.style, {filter: "progid:DXImageTransform.Microsoft.Alpha(opacity=0)"}), m.onchange = function () {
2311
- var t;
2312
- this.value && (t = this.files ? this.files[0] : {name: this.value}, s = [t], this.onchange = function () {
2313
- }, e.call(r), r.bind("change", function i() {
2314
- var e = n.get(g), t = n.get(g + "_form"), o;
2315
- r.unbind("change", i), r.files.length && e && t && (o = r.files[0], e.setAttribute("id", o.uid), t.setAttribute("id", o.uid + "_form"), t.setAttribute("target", o.uid + "_iframe")), e = t = null
2316
- }, 998), m = h = null, r.trigger("change"))
2317
- }, l.can("summon_file_dialog") && (f = n.get(c.browse_button), i.removeEvent(f, "click", r.uid), i.addEvent(f, "click", function (e) {
2318
- m && !m.disabled && m.click(), e.preventDefault()
2319
- }, r.uid)), a = g, d = p = f = null
2320
- }
2321
-
2322
- var a, s = [], u = [], c;
2323
- t.extend(this, {init: function (t) {
2324
- var o = this, a = o.getRuntime(), s;
2325
- c = t, u = t.accept.mimes || r.extList2mimes(t.accept, a.can("filter_by_extension")), s = a.getShimContainer(), function () {
2326
- var e, r, u;
2327
- e = n.get(t.browse_button), a.can("summon_file_dialog") && ("static" === n.getStyle(e, "position") && (e.style.position = "relative"), r = parseInt(n.getStyle(e, "z-index"), 10) || 1, e.style.zIndex = r, s.style.zIndex = r - 1), u = a.can("summon_file_dialog") ? e : s, i.addEvent(u, "mouseover", function () {
2328
- o.trigger("mouseenter")
2329
- }, o.uid), i.addEvent(u, "mouseout", function () {
2330
- o.trigger("mouseleave")
2331
- }, o.uid), i.addEvent(u, "mousedown", function () {
2332
- o.trigger("mousedown")
2333
- }, o.uid), i.addEvent(n.get(t.container), "mouseup", function () {
2334
- o.trigger("mouseup")
2335
- }, o.uid), e = null
2336
- }(), e.call(this), s = null, o.trigger({type: "ready", async: !0})
2337
- }, getFiles: function () {
2338
- return s
2339
- }, disable: function (e) {
2340
- var t;
2341
- (t = n.get(a)) && (t.disabled = !!e)
2342
- }, destroy: function () {
2343
- var e = this.getRuntime(), t = e.getShim(), r = e.getShimContainer();
2344
- i.removeAllEvents(r, this.uid), i.removeAllEvents(c && n.get(c.container), this.uid), i.removeAllEvents(c && n.get(c.browse_button), this.uid), r && (r.innerHTML = ""), t.removeInstance(this.uid), a = s = u = c = r = t = null
2345
- }})
2346
- }
2347
-
2348
- return e.FileInput = a
2349
- }), i(lt, [ut, F], function (e, t) {
2350
- return e.FileReader = t
2351
- }), i(dt, [ut, u, f, b, p, L, y, S], function (e, t, n, i, r, o, a, s) {
2352
- function u() {
2353
- function e(e) {
2354
- var t = this, i, r, a, s, u = !1;
2355
- if (l) {
2356
- if (i = l.id.replace(/_iframe$/, ""), r = n.get(i + "_form")) {
2357
- for (a = r.getElementsByTagName("input"), s = a.length; s--;)switch (a[s].getAttribute("type")) {
2358
- case"hidden":
2359
- a[s].parentNode.removeChild(a[s]);
2360
- break;
2361
- case"file":
2362
- u = !0
2363
- }
2364
- a = [], u || r.parentNode.removeChild(r), r = null
2365
- }
2366
- setTimeout(function () {
2367
- o.removeEvent(l, "load", t.uid), l.parentNode && l.parentNode.removeChild(l);
2368
- var n = t.getRuntime().getShimContainer();
2369
- n.children.length || n.parentNode.removeChild(n), n = l = null, e()
2370
- }, 1)
2371
- }
2372
- }
2373
-
2374
- var u, c, l;
2375
- t.extend(this, {send: function (d, f) {
2376
- function p() {
2377
- var n = m.getShimContainer() || document.body, r = document.createElement("div");
2378
- r.innerHTML = '<iframe id="' + g + '_iframe" name="' + g + '_iframe" src="javascript:&quot;&quot;" style="display:none"></iframe>', l = r.firstChild, n.appendChild(l), o.addEvent(l, "load", function () {
2379
- var n;
2380
- try {
2381
- n = l.contentWindow.document || l.contentDocument || window.frames[l.id].document, /^4(0[0-9]|1[0-7]|2[2346])\s/.test(n.title) ? u = n.title.replace(/^(\d+).*$/, "$1") : (u = 200, c = t.trim(n.body.innerHTML), h.trigger({type: "progress", loaded: c.length, total: c.length}), w && h.trigger({type: "uploadprogress", loaded: w.size || 1025, total: w.size || 1025}))
2382
- } catch (r) {
2383
- if (!i.hasSameOrigin(d.url))return e.call(h, function () {
2384
- h.trigger("error")
2385
- }), void 0;
2386
- u = 404
2387
- }
2388
- e.call(h, function () {
2389
- h.trigger("load")
2390
- })
2391
- }, h.uid)
2392
- }
2393
-
2394
- var h = this, m = h.getRuntime(), g, v, y, w;
2395
- if (u = c = null, f instanceof s && f.hasBlob()) {
2396
- if (w = f.getBlob(), g = w.uid, y = n.get(g), v = n.get(g + "_form"), !v)throw new r.DOMException(r.DOMException.NOT_FOUND_ERR)
2397
- } else g = t.guid("uid_"), v = document.createElement("form"), v.setAttribute("id", g + "_form"), v.setAttribute("method", d.method), v.setAttribute("enctype", "multipart/form-data"), v.setAttribute("encoding", "multipart/form-data"), v.setAttribute("target", g + "_iframe"), m.getShimContainer().appendChild(v);
2398
- f instanceof s && f.each(function (e, n) {
2399
- if (e instanceof a)y && y.setAttribute("name", n); else {
2400
- var i = document.createElement("input");
2401
- t.extend(i, {type: "hidden", name: n, value: e}), y ? v.insertBefore(i, y) : v.appendChild(i)
2402
- }
2403
- }), v.setAttribute("action", d.url), p(), v.submit(), h.trigger("loadstart")
2404
- }, getStatus: function () {
2405
- return u
2406
- }, getResponse: function (e) {
2407
- if ("json" === e && "string" === t.typeOf(c) && window.JSON)try {
2408
- return JSON.parse(c.replace(/^\s*<pre[^>]*>/, "").replace(/<\/pre>\s*$/, ""))
2409
- } catch (n) {
2410
- return null
2411
- }
2412
- return c
2413
- }, abort: function () {
2414
- var t = this;
2415
- l && l.contentWindow && (l.contentWindow.stop ? l.contentWindow.stop() : l.contentWindow.document.execCommand ? l.contentWindow.document.execCommand("Stop") : l.src = "about:blank"), e.call(this, function () {
2416
- t.dispatchEvent("abort")
2417
- })
2418
- }})
2419
- }
2420
-
2421
- return e.XMLHttpRequest = u
2422
- }), i(ft, [ut, X], function (e, t) {
2423
- return e.Image = t
2424
- }), a([u, c, l, d, f, p, h, m, g, v, y, w, E, _, x, R, b, T, S, A, O, I, L])
2425
- }(this);
2426
- ;
2427
- (function () {
2428
- "use strict";
2429
- var e = {}, t = moxie.core.utils.Basic.inArray;
2430
- return function n(r) {
2431
- var i, s;
2432
- for (i in r)s = typeof r[i], s === "object" && !~t(i, ["Exceptions", "Env", "Mime"]) ? n(r[i]) : s === "function" && (e[i] = r[i])
2433
- }(window.moxie), e.Env = window.moxie.core.utils.Env, e.Mime = window.moxie.core.utils.Mime, e.Exceptions = window.moxie.core.Exceptions, window.mOxie = e, window.o || (window.o = e), e
2434
- })();
2435
  /**
2436
  * Plupload - multi-runtime File Uploader
2437
- * v2.1.1
2438
  *
2439
  * Copyright 2013, Moxiecode Systems AB
2440
  * Released under GPL License.
@@ -2442,393 +23,6 @@
2442
  * License: http://www.plupload.com/license
2443
  * Contributing: http://www.plupload.com/contributing
2444
  *
2445
- * Date: 2014-01-16
2446
  */
2447
- ;
2448
- (function (e, t, n) {
2449
- function s(e) {
2450
- function r(e, t, r) {
2451
- var i = {chunks: "slice_blob", jpgresize: "send_binary_string", pngresize: "send_binary_string", progress: "report_upload_progress", multi_selection: "select_multiple", dragdrop: "drag_and_drop", drop_element: "drag_and_drop", headers: "send_custom_headers", canSendBinary: "send_binary", triggerDialog: "summon_file_dialog"};
2452
- i[e] ? n[i[e]] = t : r || (n[e] = t)
2453
- }
2454
-
2455
- var t = e.required_features, n = {};
2456
- return typeof t == "string" ? o.each(t.split(/\s*,\s*/), function (e) {
2457
- r(e, !0)
2458
- }) : typeof t == "object" ? o.each(t, function (e, t) {
2459
- r(t, e)
2460
- }) : t === !0 && (e.multipart || (n.send_binary_string = !0), e.chunk_size > 0 && (n.slice_blob = !0), e.resize.enabled && (n.send_binary_string = !0), o.each(e, function (e, t) {
2461
- r(t, !!e, !0)
2462
- })), n
2463
- }
2464
-
2465
- var r = e.setTimeout, i = {}, o = {VERSION: "2.1.1", STOPPED: 1, STARTED: 2, QUEUED: 1, UPLOADING: 2, FAILED: 4, DONE: 5, GENERIC_ERROR: -100, HTTP_ERROR: -200, IO_ERROR: -300, SECURITY_ERROR: -400, INIT_ERROR: -500, FILE_SIZE_ERROR: -600, FILE_EXTENSION_ERROR: -601, FILE_DUPLICATE_ERROR: -602, IMAGE_FORMAT_ERROR: -700, IMAGE_MEMORY_ERROR: -701, IMAGE_DIMENSIONS_ERROR: -702, mimeTypes: t.mimes, ua: t.ua, typeOf: t.typeOf, extend: t.extend, guid: t.guid, get: function (n) {
2466
- var r = [], i;
2467
- t.typeOf(n) !== "array" && (n = [n]);
2468
- var s = n.length;
2469
- while (s--)i = t.get(n[s]), i && r.push(i);
2470
- return r.length ? r : null
2471
- }, each: t.each, getPos: t.getPos, getSize: t.getSize, xmlEncode: function (e) {
2472
- var t = {"<": "lt", ">": "gt", "&": "amp", '"': "quot", "'": "#39"}, n = /[<>&\"\']/g;
2473
- return e ? ("" + e).replace(n, function (e) {
2474
- return t[e] ? "&" + t[e] + ";" : e
2475
- }) : e
2476
- }, toArray: t.toArray, inArray: t.inArray, addI18n: t.addI18n, translate: t.translate, isEmptyObj: t.isEmptyObj, hasClass: t.hasClass, addClass: t.addClass, removeClass: t.removeClass, getStyle: t.getStyle, addEvent: t.addEvent, removeEvent: t.removeEvent, removeAllEvents: t.removeAllEvents, cleanName: function (e) {
2477
- var t, n;
2478
- n = [/[\300-\306]/g, "A", /[\340-\346]/g, "a", /\307/g, "C", /\347/g, "c", /[\310-\313]/g, "E", /[\350-\353]/g, "e", /[\314-\317]/g, "I", /[\354-\357]/g, "i", /\321/g, "N", /\361/g, "n", /[\322-\330]/g, "O", /[\362-\370]/g, "o", /[\331-\334]/g, "U", /[\371-\374]/g, "u"];
2479
- for (t = 0; t < n.length; t += 2)e = e.replace(n[t], n[t + 1]);
2480
- return e = e.replace(/\s+/g, "_"), e = e.replace(/[^a-z0-9_\-\.]+/gi, ""), e
2481
- }, buildUrl: function (e, t) {
2482
- var n = "";
2483
- return o.each(t, function (e, t) {
2484
- n += (n ? "&" : "") + encodeURIComponent(t) + "=" + encodeURIComponent(e)
2485
- }), n && (e += (e.indexOf("?") > 0 ? "&" : "?") + n), e
2486
- }, formatSize: function (e) {
2487
- function t(e, t) {
2488
- return Math.round(e * Math.pow(10, t)) / Math.pow(10, t)
2489
- }
2490
-
2491
- if (e === n || /\D/.test(e))return o.translate("N/A");
2492
- var r = Math.pow(1024, 4);
2493
- return e > r ? t(e / r, 1) + " " + o.translate("tb") : e > (r /= 1024) ? t(e / r, 1) + " " + o.translate("gb") : e > (r /= 1024) ? t(e / r, 1) + " " + o.translate("mb") : e > 1024 ? Math.round(e / 1024) + " " + o.translate("kb") : e + " " + o.translate("b")
2494
- }, parseSize: t.parseSizeStr, predictRuntime: function (e, n) {
2495
- var r, i;
2496
- return r = new o.Uploader(e), i = t.Runtime.thatCan(r.getOption().required_features, n || e.runtimes), r.destroy(), i
2497
- }, addFileFilter: function (e, t) {
2498
- i[e] = t
2499
- }};
2500
- o.addFileFilter("mime_types", function (e, t, n) {
2501
- e.length && !e.regexp.test(t.name) ? (this.trigger("Error", {code: o.FILE_EXTENSION_ERROR, message: o.translate("File extension error."), file: t}), n(!1)) : n(!0)
2502
- }), o.addFileFilter("max_file_size", function (e, t, n) {
2503
- var r;
2504
- e = o.parseSize(e), t.size !== r && e && t.size > e ? (this.trigger("Error", {code: o.FILE_SIZE_ERROR, message: o.translate("File size error."), file: t}), n(!1)) : n(!0)
2505
- }), o.addFileFilter("prevent_duplicates", function (e, t, n) {
2506
- if (e) {
2507
- var r = this.files.length;
2508
- while (r--)if (t.name === this.files[r].name && t.size === this.files[r].size) {
2509
- this.trigger("Error", {code: o.FILE_DUPLICATE_ERROR, message: o.translate("Duplicate file error."), file: t}), n(!1);
2510
- return
2511
- }
2512
- }
2513
- n(!0)
2514
- }), o.Uploader = function (e) {
2515
- function g() {
2516
- var e, t = 0, n;
2517
- if (this.state == o.STARTED) {
2518
- for (n = 0; n < f.length; n++)!e && f[n].status == o.QUEUED ? (e = f[n], this.trigger("BeforeUpload", e) && (e.status = o.UPLOADING, this.trigger("UploadFile", e))) : t++;
2519
- t == f.length && (this.state !== o.STOPPED && (this.state = o.STOPPED, this.trigger("StateChanged")), this.trigger("UploadComplete", f))
2520
- }
2521
- }
2522
-
2523
- function y(e) {
2524
- e.percent = e.size > 0 ? Math.ceil(e.loaded / e.size * 100) : 100, b()
2525
- }
2526
-
2527
- function b() {
2528
- var e, t;
2529
- d.reset();
2530
- for (e = 0; e < f.length; e++)t = f[e], t.size !== n ? (d.size += t.origSize, d.loaded += t.loaded * t.origSize / t.size) : d.size = n, t.status == o.DONE ? d.uploaded++ : t.status == o.FAILED ? d.failed++ : d.queued++;
2531
- d.size === n ? d.percent = f.length > 0 ? Math.ceil(d.uploaded / f.length * 100) : 0 : (d.bytesPerSec = Math.ceil(d.loaded / ((+(new Date) - p || 1) / 1e3)), d.percent = d.size > 0 ? Math.ceil(d.loaded / d.size * 100) : 0)
2532
- }
2533
-
2534
- function w() {
2535
- var e = c[0] || h[0];
2536
- return e ? e.getRuntime().uid : !1
2537
- }
2538
-
2539
- function E(e, n) {
2540
- if (e.ruid) {
2541
- var r = t.Runtime.getInfo(e.ruid);
2542
- if (r)return r.can(n)
2543
- }
2544
- return!1
2545
- }
2546
-
2547
- function S() {
2548
- this.bind("FilesAdded", C), this.bind("CancelUpload", M), this.bind("BeforeUpload", k), this.bind("UploadFile", L), this.bind("UploadProgress", A), this.bind("StateChanged", O), this.bind("QueueChanged", b), this.bind("Error", D), this.bind("FileUploaded", _), this.bind("Destroy", P)
2549
- }
2550
-
2551
- function x(e, n) {
2552
- var r = this, i = 0, s = [], u = {accept: e.filters.mime_types, runtime_order: e.runtimes, required_caps: e.required_features, preferred_caps: l, swf_url: e.flash_swf_url, xap_url: e.silverlight_xap_url};
2553
- o.each(e.runtimes.split(/\s*,\s*/), function (t) {
2554
- e[t] && (u[t] = e[t])
2555
- }), e.browse_button && o.each(e.browse_button, function (n) {
2556
- s.push(function (s) {
2557
- var a = new t.FileInput(o.extend({}, u, {name: e.file_data_name, multiple: e.multi_selection, container: e.container, browse_button: n}));
2558
- a.onready = function () {
2559
- var e = t.Runtime.getInfo(this.ruid);
2560
- t.extend(r.features, {chunks: e.can("slice_blob"), multipart: e.can("send_multipart"), multi_selection: e.can("select_multiple")}), i++, c.push(this), s()
2561
- }, a.onchange = function () {
2562
- r.addFile(this.files)
2563
- }, a.bind("mouseenter mouseleave mousedown mouseup", function (r) {
2564
- v || (e.browse_button_hover && ("mouseenter" === r.type ? t.addClass(n, e.browse_button_hover) : "mouseleave" === r.type && t.removeClass(n, e.browse_button_hover)), e.browse_button_active && ("mousedown" === r.type ? t.addClass(n, e.browse_button_active) : "mouseup" === r.type && t.removeClass(n, e.browse_button_active)))
2565
- }), a.bind("error runtimeerror", function () {
2566
- a = null, s()
2567
- }), a.init()
2568
- })
2569
- }), e.drop_element && o.each(e.drop_element, function (e) {
2570
- s.push(function (n) {
2571
- var s = new t.FileDrop(o.extend({}, u, {drop_zone: e}));
2572
- s.onready = function () {
2573
- var e = t.Runtime.getInfo(this.ruid);
2574
- r.features.dragdrop = e.can("drag_and_drop"), i++, h.push(this), n()
2575
- }, s.ondrop = function () {
2576
- r.addFile(this.files)
2577
- }, s.bind("error runtimeerror", function () {
2578
- s = null, n()
2579
- }), s.init()
2580
- })
2581
- }), t.inSeries(s, function () {
2582
- typeof n == "function" && n(i)
2583
- })
2584
- }
2585
-
2586
- function T(e, n, r) {
2587
- var i = new t.Image;
2588
- try {
2589
- i.onload = function () {
2590
- i.downsize(n.width, n.height, n.crop, n.preserve_headers)
2591
- }, i.onresize = function () {
2592
- r(this.getAsBlob(e.type, n.quality)), this.destroy()
2593
- }, i.onerror = function () {
2594
- r(e)
2595
- }, i.load(e)
2596
- } catch (s) {
2597
- r(e)
2598
- }
2599
- }
2600
-
2601
- function N(e, n, r) {
2602
- function f(e, t, n) {
2603
- var r = a[e];
2604
- switch (e) {
2605
- case"max_file_size":
2606
- e === "max_file_size" && (a.max_file_size = a.filters.max_file_size = t);
2607
- break;
2608
- case"chunk_size":
2609
- if (t = o.parseSize(t))a[e] = t;
2610
- break;
2611
- case"filters":
2612
- o.typeOf(t) === "array" && (t = {mime_types: t}), n ? o.extend(a.filters, t) : a.filters = t, t.mime_types && (a.filters.mime_types.regexp = function (e) {
2613
- var t = [];
2614
- return o.each(e, function (e) {
2615
- o.each(e.extensions.split(/,/), function (e) {
2616
- /^\s*\*\s*$/.test(e) ? t.push("\\.*") : t.push("\\." + e.replace(new RegExp("[" + "/^$.*+?|()[]{}\\".replace(/./g, "\\$&") + "]", "g"), "\\$&"))
2617
- })
2618
- }), new RegExp("(" + t.join("|") + ")$", "i")
2619
- }(a.filters.mime_types));
2620
- break;
2621
- case"resize":
2622
- n ? o.extend(a.resize, t, {enabled: !0}) : a.resize = t;
2623
- break;
2624
- case"prevent_duplicates":
2625
- a.prevent_duplicates = a.filters.prevent_duplicates = !!t;
2626
- break;
2627
- case"browse_button":
2628
- case"drop_element":
2629
- t = o.get(t);
2630
- case"container":
2631
- case"runtimes":
2632
- case"multi_selection":
2633
- case"flash_swf_url":
2634
- case"silverlight_xap_url":
2635
- a[e] = t, n || (u = !0);
2636
- break;
2637
- default:
2638
- a[e] = t
2639
- }
2640
- n || i.trigger("OptionChanged", e, t, r)
2641
- }
2642
-
2643
- var i = this, u = !1;
2644
- typeof e == "object" ? o.each(e, function (e, t) {
2645
- f(t, e, r)
2646
- }) : f(e, n, r), r ? (a.required_features = s(o.extend({}, a)), l = s(o.extend({}, a, {required_features: !0}))) : u && (i.trigger("Destroy"), x.call(i, a, function (e) {
2647
- e ? (i.runtime = t.Runtime.getInfo(w()).type, i.trigger("Init", {runtime: i.runtime}), i.trigger("PostInit")) : i.trigger("Error", {code: o.INIT_ERROR, message: o.translate("Init error.")})
2648
- }))
2649
- }
2650
-
2651
- function C(e, t) {
2652
- [].push.apply(f, t), e.trigger("QueueChanged"), e.refresh()
2653
- }
2654
-
2655
- function k(e, t) {
2656
- if (a.unique_names) {
2657
- var n = t.name.match(/\.([^.]+)$/), r = "part";
2658
- n && (r = n[1]), t.target_name = t.id + "." + r
2659
- }
2660
- }
2661
-
2662
- function L(e, n) {
2663
- function h() {
2664
- u-- > 0 ? r(p, 1e3) : (n.loaded = f, e.trigger("Error", {code: o.HTTP_ERROR, message: o.translate("HTTP Error."), file: n, response: m.responseText, status: m.status, responseHeaders: m.getAllResponseHeaders()}))
2665
- }
2666
-
2667
- function p() {
2668
- var d, v, g, y;
2669
- if (n.status == o.DONE || n.status == o.FAILED || e.state == o.STOPPED)return;
2670
- g = {name: n.target_name || n.name}, s && a.chunks && c.size > s ? (y = Math.min(s, c.size - f), d = c.slice(f, f + y)) : (y = c.size, d = c), s && a.chunks && (e.settings.send_chunk_number ? (g.chunk = Math.ceil(f / s), g.chunks = Math.ceil(c.size / s)) : (g.offset = f, g.total = c.size)), m = new t.XMLHttpRequest, m.upload && (m.upload.onprogress = function (t) {
2671
- n.loaded = Math.min(n.size, f + t.loaded), e.trigger("UploadProgress", n)
2672
- }), m.onload = function () {
2673
- if (m.status >= 400) {
2674
- h();
2675
- return
2676
- }
2677
- u = e.settings.max_retries, y < c.size ? (d.destroy(), f += y, n.loaded = Math.min(f, c.size), e.trigger("ChunkUploaded", n, {offset: n.loaded, total: c.size, response: m.responseText, status: m.status, responseHeaders: m.getAllResponseHeaders()}), t.Env.browser === "Android Browser" && e.trigger("UploadProgress", n)) : n.loaded = n.size, d = v = null, !f || f >= c.size ? (n.size != n.origSize && (c.destroy(), c = null), e.trigger("UploadProgress", n), n.status = o.DONE, e.trigger("FileUploaded", n, {response: m.responseText, status: m.status, responseHeaders: m.getAllResponseHeaders()})) : r(p, 1)
2678
- }, m.onerror = function () {
2679
- h()
2680
- }, m.onloadend = function () {
2681
- this.destroy(), m = null
2682
- }, e.settings.multipart && a.multipart ? (g.name = n.target_name || n.name, m.open("post", i, !0), o.each(e.settings.headers, function (e, t) {
2683
- m.setRequestHeader(t, e)
2684
- }), v = new t.FormData, o.each(o.extend(g, e.settings.multipart_params), function (e, t) {
2685
- v.append(t, e)
2686
- }), v.append(e.settings.file_data_name, d), m.send(v, {runtime_order: e.settings.runtimes, required_caps: e.settings.required_features, preferred_caps: l, swf_url: e.settings.flash_swf_url, xap_url: e.settings.silverlight_xap_url})) : (i = o.buildUrl(e.settings.url, o.extend(g, e.settings.multipart_params)), m.open("post", i, !0), m.setRequestHeader("Content-Type", "application/octet-stream"), o.each(e.settings.headers, function (e, t) {
2687
- m.setRequestHeader(t, e)
2688
- }), m.send(d, {runtime_order: e.settings.runtimes, required_caps: e.settings.required_features, preferred_caps: l, swf_url: e.settings.flash_swf_url, xap_url: e.settings.silverlight_xap_url}))
2689
- }
2690
-
2691
- var i = e.settings.url, s = e.settings.chunk_size, u = e.settings.max_retries, a = e.features, f = 0, c;
2692
- n.loaded && (f = n.loaded = s * Math.floor(n.loaded / s)), c = n.getSource(), e.settings.resize && E(c, "send_binary_string") && !!~t.inArray(c.type, ["image/jpeg", "image/png"]) ? T.call(this, c, e.settings.resize, function (e) {
2693
- c = e, n.size = e.size, p()
2694
- }) : p()
2695
- }
2696
-
2697
- function A(e, t) {
2698
- y(t)
2699
- }
2700
-
2701
- function O(e) {
2702
- if (e.state == o.STARTED)p = +(new Date); else if (e.state == o.STOPPED)for (var t = e.files.length - 1; t >= 0; t--)e.files[t].status == o.UPLOADING && (e.files[t].status = o.QUEUED, b())
2703
- }
2704
-
2705
- function M() {
2706
- m && m.abort()
2707
- }
2708
-
2709
- function _(e) {
2710
- b(), r(function () {
2711
- g.call(e)
2712
- }, 1)
2713
- }
2714
-
2715
- function D(e, t) {
2716
- t.file && (t.file.status = o.FAILED, y(t.file), e.state == o.STARTED && (e.trigger("CancelUpload"), r(function () {
2717
- g.call(e)
2718
- }, 1)))
2719
- }
2720
-
2721
- function P(e) {
2722
- e.stop(), o.each(f, function (e) {
2723
- e.destroy()
2724
- }), f = [], c.length && (o.each(c, function (e) {
2725
- e.destroy()
2726
- }), c = []), h.length && (o.each(h, function (e) {
2727
- e.destroy()
2728
- }), h = []), l = {}, v = !1, p = m = null, d.reset()
2729
- }
2730
-
2731
- var u = o.guid(), a, f = [], l = {}, c = [], h = [], p, d, v = !1, m;
2732
- a = {runtimes: t.Runtime.order, max_retries: 0, chunk_size: 0, multipart: !0, multi_selection: !0, file_data_name: "file", flash_swf_url: "js/Moxie.swf", silverlight_xap_url: "js/Moxie.xap", filters: {mime_types: [], prevent_duplicates: !1, max_file_size: 0}, resize: {enabled: !1, preserve_headers: !0, crop: !1}, send_chunk_number: !0}, N.call(this, e, null, !0), d = new o.QueueProgress, o.extend(this, {id: u, uid: u, state: o.STOPPED, features: {}, runtime: null, files: f, settings: a, total: d, init: function () {
2733
- var e = this;
2734
- typeof a.preinit == "function" ? a.preinit(e) : o.each(a.preinit, function (t, n) {
2735
- e.bind(n, t)
2736
- });
2737
- if (!a.browse_button || !a.url) {
2738
- this.trigger("Error", {code: o.INIT_ERROR, message: o.translate("Init error.")});
2739
- return
2740
- }
2741
- S.call(this), x.call(this, a, function (n) {
2742
- typeof a.init == "function" ? a.init(e) : o.each(a.init, function (t, n) {
2743
- e.bind(n, t)
2744
- }), n ? (e.runtime = t.Runtime.getInfo(w()).type, e.trigger("Init", {runtime: e.runtime}), e.trigger("PostInit")) : e.trigger("Error", {code: o.INIT_ERROR, message: o.translate("Init error.")})
2745
- })
2746
- }, setOption: function (e, t) {
2747
- N.call(this, e, t, !this.runtime)
2748
- }, getOption: function (e) {
2749
- return e ? a[e] : a
2750
- }, refresh: function () {
2751
- c.length && o.each(c, function (e) {
2752
- e.trigger("Refresh")
2753
- }), this.trigger("Refresh")
2754
- }, start: function () {
2755
- this.state != o.STARTED && (this.state = o.STARTED, this.trigger("StateChanged"), g.call(this))
2756
- }, stop: function () {
2757
- this.state != o.STOPPED && (this.state = o.STOPPED, this.trigger("StateChanged"), this.trigger("CancelUpload"))
2758
- }, disableBrowse: function () {
2759
- v = arguments[0] !== n ? arguments[0] : !0, c.length && o.each(c, function (e) {
2760
- e.disable(v)
2761
- }), this.trigger("DisableBrowse", v)
2762
- }, getFile: function (e) {
2763
- var t;
2764
- for (t = f.length - 1; t >= 0; t--)if (f[t].id === e)return f[t]
2765
- }, addFile: function (e, n) {
2766
- function l(e, n) {
2767
- var r = [];
2768
- t.each(s.settings.filters, function (t, n) {
2769
- i[n] && r.push(function (r) {
2770
- i[n].call(s, t, e, function (e) {
2771
- r(!e)
2772
- })
2773
- })
2774
- }), t.inSeries(r, n)
2775
- }
2776
-
2777
- function c(e) {
2778
- var i = t.typeOf(e);
2779
- if (e instanceof t.File) {
2780
- if (!e.ruid && !e.isDetached()) {
2781
- if (!f)return!1;
2782
- e.ruid = f, e.connectRuntime(f)
2783
- }
2784
- c(new o.File(e))
2785
- } else e instanceof t.Blob ? (c(e.getSource()), e.destroy()) : e instanceof o.File ? (n && (e.name = n), u.push(function (t) {
2786
- l(e, function (n) {
2787
- n || (a.push(e), s.trigger("FileFiltered", e)), r(t, 1)
2788
- })
2789
- })) : t.inArray(i, ["file", "blob"]) !== -1 ? c(new t.File(null, e)) : i === "node" && t.typeOf(e.files) === "filelist" ? t.each(e.files, c) : i === "array" && (n = null, t.each(e, c))
2790
- }
2791
-
2792
- var s = this, u = [], a = [], f;
2793
- f = w(), c(e), u.length && t.inSeries(u, function () {
2794
- a.length && s.trigger("FilesAdded", a)
2795
- })
2796
- }, removeFile: function (e) {
2797
- var t = typeof e == "string" ? e : e.id;
2798
- for (var n = f.length - 1; n >= 0; n--)if (f[n].id === t)return this.splice(n, 1)[0]
2799
- }, splice: function (e, t) {
2800
- var r = f.splice(e === n ? 0 : e, t === n ? f.length : t), i = !1;
2801
- return this.state == o.STARTED && (i = !0, this.stop()), this.trigger("FilesRemoved", r), o.each(r, function (e) {
2802
- e.destroy()
2803
- }), this.trigger("QueueChanged"), this.refresh(), i && this.start(), r
2804
- }, bind: function (e, t, n) {
2805
- var r = this;
2806
- o.Uploader.prototype.bind.call(this, e, function () {
2807
- var e = [].slice.call(arguments);
2808
- return e.splice(0, 1, r), t.apply(this, e)
2809
- }, 0, n)
2810
- }, destroy: function () {
2811
- this.trigger("Destroy"), a = d = null, this.unbindAll()
2812
- }})
2813
- }, o.Uploader.prototype = t.EventTarget.instance, o.File = function () {
2814
- function n(n) {
2815
- o.extend(this, {id: o.guid(), name: n.name || n.fileName, type: n.type || "", size: n.size || n.fileSize, origSize: n.size || n.fileSize, loaded: 0, percent: 0, status: o.QUEUED, lastModifiedDate: n.lastModifiedDate || (new Date).toLocaleString(), getNative: function () {
2816
- var e = this.getSource().getSource();
2817
- return t.inArray(t.typeOf(e), ["blob", "file"]) !== -1 ? e : null
2818
- }, getSource: function () {
2819
- return e[this.id] ? e[this.id] : null
2820
- }, destroy: function () {
2821
- var t = this.getSource();
2822
- t && (t.destroy(), delete e[this.id])
2823
- }}), e[this.id] = n
2824
- }
2825
-
2826
- var e = {};
2827
- return n
2828
- }(), o.QueueProgress = function () {
2829
- var e = this;
2830
- e.size = 0, e.loaded = 0, e.uploaded = 0, e.failed = 0, e.queued = 0, e.percent = 0, e.bytesPerSec = 0, e.reset = function () {
2831
- e.size = e.loaded = e.uploaded = e.failed = e.queued = e.percent = e.bytesPerSec = 0
2832
- }
2833
- }, e.plupload = o
2834
- })(window, mOxie);
1
  /**
2
  * mOxie - multi-runtime File API & XMLHttpRequest L2 Polyfill
3
+ * v1.2.1
4
  *
5
  * Copyright 2013, Moxiecode Systems AB
6
  * Released under GPL License.
8
  * License: http://www.plupload.com/license
9
  * Contributing: http://www.plupload.com/contributing
10
  *
11
+ * Date: 2014-05-14
12
  */
13
+ !function(e,t){"use strict";function n(e,t){for(var n,i=[],r=0;r<e.length;++r){if(n=s[e[r]]||o(e[r]),!n)throw"module definition dependecy not found: "+e[r];i.push(n)}t.apply(null,i)}function i(e,i,r){if("string"!=typeof e)throw"invalid module definition, module id must be defined and be a string";if(i===t)throw"invalid module definition, dependencies must be specified";if(r===t)throw"invalid module definition, definition function must be specified";n(i,function(){s[e]=r.apply(null,arguments)})}function r(e){return!!s[e]}function o(t){for(var n=e,i=t.split(/[.\/]/),r=0;r<i.length;++r){if(!n[i[r]])return;n=n[i[r]]}return n}function a(n){for(var i=0;i<n.length;i++){for(var r=e,o=n[i],a=o.split(/[.\/]/),u=0;u<a.length-1;++u)r[a[u]]===t&&(r[a[u]]={}),r=r[a[u]];r[a[a.length-1]]=s[o]}}var s={},u="moxie/core/utils/Basic",c="moxie/core/I18n",l="moxie/core/utils/Mime",d="moxie/core/utils/Env",f="moxie/core/utils/Dom",h="moxie/core/Exceptions",p="moxie/core/EventTarget",m="moxie/core/utils/Encode",g="moxie/runtime/Runtime",v="moxie/runtime/RuntimeClient",y="moxie/file/Blob",w="moxie/file/File",E="moxie/file/FileInput",_="moxie/file/FileDrop",x="moxie/runtime/RuntimeTarget",b="moxie/file/FileReader",R="moxie/core/utils/Url",T="moxie/file/FileReaderSync",A="moxie/xhr/FormData",S="moxie/xhr/XMLHttpRequest",O="moxie/runtime/Transporter",I="moxie/image/Image",D="moxie/runtime/html5/Runtime",N="moxie/runtime/html5/file/Blob",L="moxie/core/utils/Events",M="moxie/runtime/html5/file/FileInput",C="moxie/runtime/html5/file/FileDrop",F="moxie/runtime/html5/file/FileReader",H="moxie/runtime/html5/xhr/XMLHttpRequest",P="moxie/runtime/html5/utils/BinaryReader",k="moxie/runtime/html5/image/JPEGHeaders",U="moxie/runtime/html5/image/ExifParser",B="moxie/runtime/html5/image/JPEG",z="moxie/runtime/html5/image/PNG",G="moxie/runtime/html5/image/ImageInfo",q="moxie/runtime/html5/image/MegaPixel",X="moxie/runtime/html5/image/Image",j="moxie/runtime/flash/Runtime",V="moxie/runtime/flash/file/Blob",W="moxie/runtime/flash/file/FileInput",Y="moxie/runtime/flash/file/FileReader",$="moxie/runtime/flash/file/FileReaderSync",J="moxie/runtime/flash/xhr/XMLHttpRequest",Z="moxie/runtime/flash/runtime/Transporter",K="moxie/runtime/flash/image/Image",Q="moxie/runtime/silverlight/Runtime",et="moxie/runtime/silverlight/file/Blob",tt="moxie/runtime/silverlight/file/FileInput",nt="moxie/runtime/silverlight/file/FileDrop",it="moxie/runtime/silverlight/file/FileReader",rt="moxie/runtime/silverlight/file/FileReaderSync",ot="moxie/runtime/silverlight/xhr/XMLHttpRequest",at="moxie/runtime/silverlight/runtime/Transporter",st="moxie/runtime/silverlight/image/Image",ut="moxie/runtime/html4/Runtime",ct="moxie/runtime/html4/file/FileInput",lt="moxie/runtime/html4/file/FileReader",dt="moxie/runtime/html4/xhr/XMLHttpRequest",ft="moxie/runtime/html4/image/Image";i(u,[],function(){var e=function(e){var t;return e===t?"undefined":null===e?"null":e.nodeType?"node":{}.toString.call(e).match(/\s([a-z|A-Z]+)/)[1].toLowerCase()},t=function(i){var r;return n(arguments,function(o,s){s>0&&n(o,function(n,o){n!==r&&(e(i[o])===e(n)&&~a(e(n),["array","object"])?t(i[o],n):i[o]=n)})}),i},n=function(e,t){var n,i,r,o;if(e){try{n=e.length}catch(a){n=o}if(n===o){for(i in e)if(e.hasOwnProperty(i)&&t(e[i],i)===!1)return}else for(r=0;n>r;r++)if(t(e[r],r)===!1)return}},i=function(t){var n;if(!t||"object"!==e(t))return!0;for(n in t)return!1;return!0},r=function(t,n){function i(r){"function"===e(t[r])&&t[r](function(e){++r<o&&!e?i(r):n(e)})}var r=0,o=t.length;"function"!==e(n)&&(n=function(){}),t&&t.length||n(),i(r)},o=function(e,t){var i=0,r=e.length,o=new Array(r);n(e,function(e,n){e(function(e){if(e)return t(e);var a=[].slice.call(arguments);a.shift(),o[n]=a,i++,i===r&&(o.unshift(null),t.apply(this,o))})})},a=function(e,t){if(t){if(Array.prototype.indexOf)return Array.prototype.indexOf.call(t,e);for(var n=0,i=t.length;i>n;n++)if(t[n]===e)return n}return-1},s=function(t,n){var i=[];"array"!==e(t)&&(t=[t]),"array"!==e(n)&&(n=[n]);for(var r in t)-1===a(t[r],n)&&i.push(t[r]);return i.length?i:!1},u=function(e,t){var i=[];return n(e,function(e){-1!==a(e,t)&&i.push(e)}),i.length?i:null},c=function(e){var t,n=[];for(t=0;t<e.length;t++)n[t]=e[t];return n},l=function(){var e=0;return function(t){var n=(new Date).getTime().toString(32),i;for(i=0;5>i;i++)n+=Math.floor(65535*Math.random()).toString(32);return(t||"o_")+n+(e++).toString(32)}}(),d=function(e){return e?String.prototype.trim?String.prototype.trim.call(e):e.toString().replace(/^\s*/,"").replace(/\s*$/,""):e},f=function(e){if("string"!=typeof e)return e;var t={t:1099511627776,g:1073741824,m:1048576,k:1024},n;return e=/^([0-9]+)([mgk]?)$/.exec(e.toLowerCase().replace(/[^0-9mkg]/g,"")),n=e[2],e=+e[1],t.hasOwnProperty(n)&&(e*=t[n]),e};return{guid:l,typeOf:e,extend:t,each:n,isEmptyObj:i,inSeries:r,inParallel:o,inArray:a,arrayDiff:s,arrayIntersect:u,toArray:c,trim:d,parseSizeStr:f}}),i(c,[u],function(e){var t={};return{addI18n:function(n){return e.extend(t,n)},translate:function(e){return t[e]||e},_:function(e){return this.translate(e)},sprintf:function(t){var n=[].slice.call(arguments,1);return t.replace(/%[a-z]/g,function(){var t=n.shift();return"undefined"!==e.typeOf(t)?t:""})}}}),i(l,[u,c],function(e,t){var n="application/msword,doc dot,application/pdf,pdf,application/pgp-signature,pgp,application/postscript,ps ai eps,application/rtf,rtf,application/vnd.ms-excel,xls xlb,application/vnd.ms-powerpoint,ppt pps pot,application/zip,zip,application/x-shockwave-flash,swf swfl,application/vnd.openxmlformats-officedocument.wordprocessingml.document,docx,application/vnd.openxmlformats-officedocument.wordprocessingml.template,dotx,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,xlsx,application/vnd.openxmlformats-officedocument.presentationml.presentation,pptx,application/vnd.openxmlformats-officedocument.presentationml.template,potx,application/vnd.openxmlformats-officedocument.presentationml.slideshow,ppsx,application/x-javascript,js,application/json,json,audio/mpeg,mp3 mpga mpega mp2,audio/x-wav,wav,audio/x-m4a,m4a,audio/ogg,oga ogg,audio/aiff,aiff aif,audio/flac,flac,audio/aac,aac,audio/ac3,ac3,audio/x-ms-wma,wma,image/bmp,bmp,image/gif,gif,image/jpeg,jpg jpeg jpe,image/photoshop,psd,image/png,png,image/svg+xml,svg svgz,image/tiff,tiff tif,text/plain,asc txt text diff log,text/html,htm html xhtml,text/css,css,text/csv,csv,text/rtf,rtf,video/mpeg,mpeg mpg mpe m2v,video/quicktime,qt mov,video/mp4,mp4,video/x-m4v,m4v,video/x-flv,flv,video/x-ms-wmv,wmv,video/avi,avi,video/webm,webm,video/3gpp,3gpp 3gp,video/3gpp2,3g2,video/vnd.rn-realvideo,rv,video/ogg,ogv,video/x-matroska,mkv,application/vnd.oasis.opendocument.formula-template,otf,application/octet-stream,exe",i={mimes:{},extensions:{},addMimeType:function(e){var t=e.split(/,/),n,i,r;for(n=0;n<t.length;n+=2){for(r=t[n+1].split(/ /),i=0;i<r.length;i++)this.mimes[r[i]]=t[n];this.extensions[t[n]]=r}},extList2mimes:function(t,n){var i=this,r,o,a,s,u=[];for(o=0;o<t.length;o++)for(r=t[o].extensions.split(/\s*,\s*/),a=0;a<r.length;a++){if("*"===r[a])return[];if(s=i.mimes[r[a]])-1===e.inArray(s,u)&&u.push(s);else{if(!n||!/^\w+$/.test(r[a]))return[];u.push("."+r[a])}}return u},mimes2exts:function(t){var n=this,i=[];return e.each(t,function(t){if("*"===t)return i=[],!1;var r=t.match(/^(\w+)\/(\*|\w+)$/);r&&("*"===r[2]?e.each(n.extensions,function(e,t){new RegExp("^"+r[1]+"/").test(t)&&[].push.apply(i,n.extensions[t])}):n.extensions[t]&&[].push.apply(i,n.extensions[t]))}),i},mimes2extList:function(n){var i=[],r=[];return"string"===e.typeOf(n)&&(n=e.trim(n).split(/\s*,\s*/)),r=this.mimes2exts(n),i.push({title:t.translate("Files"),extensions:r.length?r.join(","):"*"}),i.mimes=n,i},getFileExtension:function(e){var t=e&&e.match(/\.([^.]+)$/);return t?t[1].toLowerCase():""},getFileMime:function(e){return this.mimes[this.getFileExtension(e)]||""}};return i.addMimeType(n),i}),i(d,[u],function(e){function t(e,t,n){var i=0,r=0,o=0,a={dev:-6,alpha:-5,a:-5,beta:-4,b:-4,RC:-3,rc:-3,"#":-2,p:1,pl:1},s=function(e){return e=(""+e).replace(/[_\-+]/g,"."),e=e.replace(/([^.\d]+)/g,".$1.").replace(/\.{2,}/g,"."),e.length?e.split("."):[-8]},u=function(e){return e?isNaN(e)?a[e]||-7:parseInt(e,10):0};for(e=s(e),t=s(t),r=Math.max(e.length,t.length),i=0;r>i;i++)if(e[i]!=t[i]){if(e[i]=u(e[i]),t[i]=u(t[i]),e[i]<t[i]){o=-1;break}if(e[i]>t[i]){o=1;break}}if(!n)return o;switch(n){case">":case"gt":return o>0;case">=":case"ge":return o>=0;case"<=":case"le":return 0>=o;case"==":case"=":case"eq":return 0===o;case"<>":case"!=":case"ne":return 0!==o;case"":case"<":case"lt":return 0>o;default:return null}}var n=function(e){var t="",n="?",i="function",r="undefined",o="object",a="major",s="model",u="name",c="type",l="vendor",d="version",f="architecture",h="console",p="mobile",m="tablet",g={has:function(e,t){return-1!==t.toLowerCase().indexOf(e.toLowerCase())},lowerize:function(e){return e.toLowerCase()}},v={rgx:function(){for(var t,n=0,a,s,u,c,l,d,f=arguments;n<f.length;n+=2){var h=f[n],p=f[n+1];if(typeof t===r){t={};for(u in p)c=p[u],typeof c===o?t[c[0]]=e:t[c]=e}for(a=s=0;a<h.length;a++)if(l=h[a].exec(this.getUA())){for(u=0;u<p.length;u++)d=l[++s],c=p[u],typeof c===o&&c.length>0?2==c.length?t[c[0]]=typeof c[1]==i?c[1].call(this,d):c[1]:3==c.length?t[c[0]]=typeof c[1]!==i||c[1].exec&&c[1].test?d?d.replace(c[1],c[2]):e:d?c[1].call(this,d,c[2]):e:4==c.length&&(t[c[0]]=d?c[3].call(this,d.replace(c[1],c[2])):e):t[c]=d?d:e;break}if(l)break}return t},str:function(t,i){for(var r in i)if(typeof i[r]===o&&i[r].length>0){for(var a=0;a<i[r].length;a++)if(g.has(i[r][a],t))return r===n?e:r}else if(g.has(i[r],t))return r===n?e:r;return t}},y={browser:{oldsafari:{major:{1:["/8","/1","/3"],2:"/4","?":"/"},version:{"1.0":"/8",1.2:"/1",1.3:"/3","2.0":"/412","2.0.2":"/416","2.0.3":"/417","2.0.4":"/419","?":"/"}}},device:{sprint:{model:{"Evo Shift 4G":"7373KT"},vendor:{HTC:"APA",Sprint:"Sprint"}}},os:{windows:{version:{ME:"4.90","NT 3.11":"NT3.51","NT 4.0":"NT4.0",2000:"NT 5.0",XP:["NT 5.1","NT 5.2"],Vista:"NT 6.0",7:"NT 6.1",8:"NT 6.2",8.1:"NT 6.3",RT:"ARM"}}}},w={browser:[[/(opera\smini)\/((\d+)?[\w\.-]+)/i,/(opera\s[mobiletab]+).+version\/((\d+)?[\w\.-]+)/i,/(opera).+version\/((\d+)?[\w\.]+)/i,/(opera)[\/\s]+((\d+)?[\w\.]+)/i],[u,d,a],[/\s(opr)\/((\d+)?[\w\.]+)/i],[[u,"Opera"],d,a],[/(kindle)\/((\d+)?[\w\.]+)/i,/(lunascape|maxthon|netfront|jasmine|blazer)[\/\s]?((\d+)?[\w\.]+)*/i,/(avant\s|iemobile|slim|baidu)(?:browser)?[\/\s]?((\d+)?[\w\.]*)/i,/(?:ms|\()(ie)\s((\d+)?[\w\.]+)/i,/(rekonq)((?:\/)[\w\.]+)*/i,/(chromium|flock|rockmelt|midori|epiphany|silk|skyfire|ovibrowser|bolt|iron)\/((\d+)?[\w\.-]+)/i],[u,d,a],[/(trident).+rv[:\s]((\d+)?[\w\.]+).+like\sgecko/i],[[u,"IE"],d,a],[/(yabrowser)\/((\d+)?[\w\.]+)/i],[[u,"Yandex"],d,a],[/(comodo_dragon)\/((\d+)?[\w\.]+)/i],[[u,/_/g," "],d,a],[/(chrome|omniweb|arora|[tizenoka]{5}\s?browser)\/v?((\d+)?[\w\.]+)/i],[u,d,a],[/(dolfin)\/((\d+)?[\w\.]+)/i],[[u,"Dolphin"],d,a],[/((?:android.+)crmo|crios)\/((\d+)?[\w\.]+)/i],[[u,"Chrome"],d,a],[/((?:android.+))version\/((\d+)?[\w\.]+)\smobile\ssafari/i],[[u,"Android Browser"],d,a],[/version\/((\d+)?[\w\.]+).+?mobile\/\w+\s(safari)/i],[d,a,[u,"Mobile Safari"]],[/version\/((\d+)?[\w\.]+).+?(mobile\s?safari|safari)/i],[d,a,u],[/webkit.+?(mobile\s?safari|safari)((\/[\w\.]+))/i],[u,[a,v.str,y.browser.oldsafari.major],[d,v.str,y.browser.oldsafari.version]],[/(konqueror)\/((\d+)?[\w\.]+)/i,/(webkit|khtml)\/((\d+)?[\w\.]+)/i],[u,d,a],[/(navigator|netscape)\/((\d+)?[\w\.-]+)/i],[[u,"Netscape"],d,a],[/(swiftfox)/i,/(icedragon|iceweasel|camino|chimera|fennec|maemo\sbrowser|minimo|conkeror)[\/\s]?((\d+)?[\w\.\+]+)/i,/(firefox|seamonkey|k-meleon|icecat|iceape|firebird|phoenix)\/((\d+)?[\w\.-]+)/i,/(mozilla)\/((\d+)?[\w\.]+).+rv\:.+gecko\/\d+/i,/(uc\s?browser|polaris|lynx|dillo|icab|doris|amaya|w3m|netsurf|qqbrowser)[\/\s]?((\d+)?[\w\.]+)/i,/(links)\s\(((\d+)?[\w\.]+)/i,/(gobrowser)\/?((\d+)?[\w\.]+)*/i,/(ice\s?browser)\/v?((\d+)?[\w\._]+)/i,/(mosaic)[\/\s]((\d+)?[\w\.]+)/i],[u,d,a]],engine:[[/(presto)\/([\w\.]+)/i,/(webkit|trident|netfront|netsurf|amaya|lynx|w3m)\/([\w\.]+)/i,/(khtml|tasman|links)[\/\s]\(?([\w\.]+)/i,/(icab)[\/\s]([23]\.[\d\.]+)/i],[u,d],[/rv\:([\w\.]+).*(gecko)/i],[d,u]],os:[[/(windows)\snt\s6\.2;\s(arm)/i,/(windows\sphone(?:\sos)*|windows\smobile|windows)[\s\/]?([ntce\d\.\s]+\w)/i],[u,[d,v.str,y.os.windows.version]],[/(win(?=3|9|n)|win\s9x\s)([nt\d\.]+)/i],[[u,"Windows"],[d,v.str,y.os.windows.version]],[/\((bb)(10);/i],[[u,"BlackBerry"],d],[/(blackberry)\w*\/?([\w\.]+)*/i,/(tizen)\/([\w\.]+)/i,/(android|webos|palm\os|qnx|bada|rim\stablet\sos|meego)[\/\s-]?([\w\.]+)*/i],[u,d],[/(symbian\s?os|symbos|s60(?=;))[\/\s-]?([\w\.]+)*/i],[[u,"Symbian"],d],[/mozilla.+\(mobile;.+gecko.+firefox/i],[[u,"Firefox OS"],d],[/(nintendo|playstation)\s([wids3portablevu]+)/i,/(mint)[\/\s\(]?(\w+)*/i,/(joli|[kxln]?ubuntu|debian|[open]*suse|gentoo|arch|slackware|fedora|mandriva|centos|pclinuxos|redhat|zenwalk)[\/\s-]?([\w\.-]+)*/i,/(hurd|linux)\s?([\w\.]+)*/i,/(gnu)\s?([\w\.]+)*/i],[u,d],[/(cros)\s[\w]+\s([\w\.]+\w)/i],[[u,"Chromium OS"],d],[/(sunos)\s?([\w\.]+\d)*/i],[[u,"Solaris"],d],[/\s([frentopc-]{0,4}bsd|dragonfly)\s?([\w\.]+)*/i],[u,d],[/(ip[honead]+)(?:.*os\s*([\w]+)*\slike\smac|;\sopera)/i],[[u,"iOS"],[d,/_/g,"."]],[/(mac\sos\sx)\s?([\w\s\.]+\w)*/i],[u,[d,/_/g,"."]],[/(haiku)\s(\w+)/i,/(aix)\s((\d)(?=\.|\)|\s)[\w\.]*)*/i,/(macintosh|mac(?=_powerpc)|plan\s9|minix|beos|os\/2|amigaos|morphos|risc\sos)/i,/(unix)\s?([\w\.]+)*/i],[u,d]]},E=function(e){var n=e||(window&&window.navigator&&window.navigator.userAgent?window.navigator.userAgent:t);this.getBrowser=function(){return v.rgx.apply(this,w.browser)},this.getEngine=function(){return v.rgx.apply(this,w.engine)},this.getOS=function(){return v.rgx.apply(this,w.os)},this.getResult=function(){return{ua:this.getUA(),browser:this.getBrowser(),engine:this.getEngine(),os:this.getOS()}},this.getUA=function(){return n},this.setUA=function(e){return n=e,this},this.setUA(n)};return(new E).getResult()}(),i=function(){var t={define_property:function(){return!1}(),create_canvas:function(){var e=document.createElement("canvas");return!(!e.getContext||!e.getContext("2d"))}(),return_response_type:function(t){try{if(-1!==e.inArray(t,["","text","document"]))return!0;if(window.XMLHttpRequest){var n=new XMLHttpRequest;if(n.open("get","/"),"responseType"in n)return n.responseType=t,n.responseType!==t?!1:!0}}catch(i){}return!1},use_data_uri:function(){var e=new Image;return e.onload=function(){t.use_data_uri=1===e.width&&1===e.height},setTimeout(function(){e.src="data:image/gif;base64,R0lGODlhAQABAIAAAP8AAAAAACH5BAAAAAAALAAAAAABAAEAAAICRAEAOw=="},1),!1}(),use_data_uri_over32kb:function(){return t.use_data_uri&&("IE"!==r.browser||r.version>=9)},use_data_uri_of:function(e){return t.use_data_uri&&33e3>e||t.use_data_uri_over32kb()},use_fileinput:function(){var e=document.createElement("input");return e.setAttribute("type","file"),!e.disabled}};return function(n){var i=[].slice.call(arguments);return i.shift(),"function"===e.typeOf(t[n])?t[n].apply(this,i):!!t[n]}}(),r={can:i,browser:n.browser.name,version:parseFloat(n.browser.major),os:n.os.name,osVersion:n.os.version,verComp:t,swf_url:"../flash/Moxie.swf",xap_url:"../silverlight/Moxie.xap",global_event_dispatcher:"moxie.core.EventTarget.instance.dispatchEvent"};return r.OS=r.os,r}),i(f,[d],function(e){var t=function(e){return"string"!=typeof e?e:document.getElementById(e)},n=function(e,t){if(!e.className)return!1;var n=new RegExp("(^|\\s+)"+t+"(\\s+|$)");return n.test(e.className)},i=function(e,t){n(e,t)||(e.className=e.className?e.className.replace(/\s+$/,"")+" "+t:t)},r=function(e,t){if(e.className){var n=new RegExp("(^|\\s+)"+t+"(\\s+|$)");e.className=e.className.replace(n,function(e,t,n){return" "===t&&" "===n?" ":""})}},o=function(e,t){return e.currentStyle?e.currentStyle[t]:window.getComputedStyle?window.getComputedStyle(e,null)[t]:void 0},a=function(t,n){function i(e){var t,n,i=0,r=0;return e&&(n=e.getBoundingClientRect(),t="CSS1Compat"===s.compatMode?s.documentElement:s.body,i=n.left+t.scrollLeft,r=n.top+t.scrollTop),{x:i,y:r}}var r=0,o=0,a,s=document,u,c;if(t=t,n=n||s.body,t&&t.getBoundingClientRect&&"IE"===e.browser&&(!s.documentMode||s.documentMode<8))return u=i(t),c=i(n),{x:u.x-c.x,y:u.y-c.y};for(a=t;a&&a!=n&&a.nodeType;)r+=a.offsetLeft||0,o+=a.offsetTop||0,a=a.offsetParent;for(a=t.parentNode;a&&a!=n&&a.nodeType;)r-=a.scrollLeft||0,o-=a.scrollTop||0,a=a.parentNode;return{x:r,y:o}},s=function(e){return{w:e.offsetWidth||e.clientWidth,h:e.offsetHeight||e.clientHeight}};return{get:t,hasClass:n,addClass:i,removeClass:r,getStyle:o,getPos:a,getSize:s}}),i(h,[u],function(e){function t(e,t){var n;for(n in e)if(e[n]===t)return n;return null}return{RuntimeError:function(){function n(e){this.code=e,this.name=t(i,e),this.message=this.name+": RuntimeError "+this.code}var i={NOT_INIT_ERR:1,NOT_SUPPORTED_ERR:9,JS_ERR:4};return e.extend(n,i),n.prototype=Error.prototype,n}(),OperationNotAllowedException:function(){function t(e){this.code=e,this.name="OperationNotAllowedException"}return e.extend(t,{NOT_ALLOWED_ERR:1}),t.prototype=Error.prototype,t}(),ImageError:function(){function n(e){this.code=e,this.name=t(i,e),this.message=this.name+": ImageError "+this.code}var i={WRONG_FORMAT:1,MAX_RESOLUTION_ERR:2};return e.extend(n,i),n.prototype=Error.prototype,n}(),FileException:function(){function n(e){this.code=e,this.name=t(i,e),this.message=this.name+": FileException "+this.code}var i={NOT_FOUND_ERR:1,SECURITY_ERR:2,ABORT_ERR:3,NOT_READABLE_ERR:4,ENCODING_ERR:5,NO_MODIFICATION_ALLOWED_ERR:6,INVALID_STATE_ERR:7,SYNTAX_ERR:8};return e.extend(n,i),n.prototype=Error.prototype,n}(),DOMException:function(){function n(e){this.code=e,this.name=t(i,e),this.message=this.name+": DOMException "+this.code}var i={INDEX_SIZE_ERR:1,DOMSTRING_SIZE_ERR:2,HIERARCHY_REQUEST_ERR:3,WRONG_DOCUMENT_ERR:4,INVALID_CHARACTER_ERR:5,NO_DATA_ALLOWED_ERR:6,NO_MODIFICATION_ALLOWED_ERR:7,NOT_FOUND_ERR:8,NOT_SUPPORTED_ERR:9,INUSE_ATTRIBUTE_ERR:10,INVALID_STATE_ERR:11,SYNTAX_ERR:12,INVALID_MODIFICATION_ERR:13,NAMESPACE_ERR:14,INVALID_ACCESS_ERR:15,VALIDATION_ERR:16,TYPE_MISMATCH_ERR:17,SECURITY_ERR:18,NETWORK_ERR:19,ABORT_ERR:20,URL_MISMATCH_ERR:21,QUOTA_EXCEEDED_ERR:22,TIMEOUT_ERR:23,INVALID_NODE_TYPE_ERR:24,DATA_CLONE_ERR:25};return e.extend(n,i),n.prototype=Error.prototype,n}(),EventException:function(){function t(e){this.code=e,this.name="EventException"}return e.extend(t,{UNSPECIFIED_EVENT_TYPE_ERR:0}),t.prototype=Error.prototype,t}()}}),i(p,[h,u],function(e,t){function n(){var n={};t.extend(this,{uid:null,init:function(){this.uid||(this.uid=t.guid("uid_"))},addEventListener:function(e,i,r,o){var a=this,s;return e=t.trim(e),/\s/.test(e)?void t.each(e.split(/\s+/),function(e){a.addEventListener(e,i,r,o)}):(e=e.toLowerCase(),r=parseInt(r,10)||0,s=n[this.uid]&&n[this.uid][e]||[],s.push({fn:i,priority:r,scope:o||this}),n[this.uid]||(n[this.uid]={}),void(n[this.uid][e]=s))},hasEventListener:function(e){return e?!(!n[this.uid]||!n[this.uid][e]):!!n[this.uid]},removeEventListener:function(e,i){e=e.toLowerCase();var r=n[this.uid]&&n[this.uid][e],o;if(r){if(i){for(o=r.length-1;o>=0;o--)if(r[o].fn===i){r.splice(o,1);break}}else r=[];r.length||(delete n[this.uid][e],t.isEmptyObj(n[this.uid])&&delete n[this.uid])}},removeAllEventListeners:function(){n[this.uid]&&delete n[this.uid]},dispatchEvent:function(i){var r,o,a,s,u={},c=!0,l;if("string"!==t.typeOf(i)){if(s=i,"string"!==t.typeOf(s.type))throw new e.EventException(e.EventException.UNSPECIFIED_EVENT_TYPE_ERR);i=s.type,s.total!==l&&s.loaded!==l&&(u.total=s.total,u.loaded=s.loaded),u.async=s.async||!1}if(-1!==i.indexOf("::")?!function(e){r=e[0],i=e[1]}(i.split("::")):r=this.uid,i=i.toLowerCase(),o=n[r]&&n[r][i]){o.sort(function(e,t){return t.priority-e.priority}),a=[].slice.call(arguments),a.shift(),u.type=i,a.unshift(u);var d=[];t.each(o,function(e){a[0].target=e.scope,d.push(u.async?function(t){setTimeout(function(){t(e.fn.apply(e.scope,a)===!1)},1)}:function(t){t(e.fn.apply(e.scope,a)===!1)})}),d.length&&t.inSeries(d,function(e){c=!e})}return c},bind:function(){this.addEventListener.apply(this,arguments)},unbind:function(){this.removeEventListener.apply(this,arguments)},unbindAll:function(){this.removeAllEventListeners.apply(this,arguments)},trigger:function(){return this.dispatchEvent.apply(this,arguments)},convertEventPropsToHandlers:function(e){var n;"array"!==t.typeOf(e)&&(e=[e]);for(var i=0;i<e.length;i++)n="on"+e[i],"function"===t.typeOf(this[n])?this.addEventListener(e[i],this[n]):"undefined"===t.typeOf(this[n])&&(this[n]=null)}})}return n.instance=new n,n}),i(m,[],function(){var e=function(e){return unescape(encodeURIComponent(e))},t=function(e){return decodeURIComponent(escape(e))},n=function(e,n){if("function"==typeof window.atob)return n?t(window.atob(e)):window.atob(e);var i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",r,o,a,s,u,c,l,d,f=0,h=0,p="",m=[];if(!e)return e;e+="";do s=i.indexOf(e.charAt(f++)),u=i.indexOf(e.charAt(f++)),c=i.indexOf(e.charAt(f++)),l=i.indexOf(e.charAt(f++)),d=s<<18|u<<12|c<<6|l,r=d>>16&255,o=d>>8&255,a=255&d,m[h++]=64==c?String.fromCharCode(r):64==l?String.fromCharCode(r,o):String.fromCharCode(r,o,a);while(f<e.length);return p=m.join(""),n?t(p):p},i=function(t,n){if(n&&e(t),"function"==typeof window.btoa)return window.btoa(t);var i="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",r,o,a,s,u,c,l,d,f=0,h=0,p="",m=[];if(!t)return t;do r=t.charCodeAt(f++),o=t.charCodeAt(f++),a=t.charCodeAt(f++),d=r<<16|o<<8|a,s=d>>18&63,u=d>>12&63,c=d>>6&63,l=63&d,m[h++]=i.charAt(s)+i.charAt(u)+i.charAt(c)+i.charAt(l);while(f<t.length);p=m.join("");var g=t.length%3;return(g?p.slice(0,g-3):p)+"===".slice(g||3)};return{utf8_encode:e,utf8_decode:t,atob:n,btoa:i}}),i(g,[u,f,p],function(e,t,n){function i(n,r,a,s,u){var c=this,l,d=e.guid(r+"_"),f=u||"browser";n=n||{},o[d]=this,a=e.extend({access_binary:!1,access_image_binary:!1,display_media:!1,do_cors:!1,drag_and_drop:!1,filter_by_extension:!0,resize_image:!1,report_upload_progress:!1,return_response_headers:!1,return_response_type:!1,return_status_code:!0,send_custom_headers:!1,select_file:!1,select_folder:!1,select_multiple:!0,send_binary_string:!1,send_browser_cookies:!0,send_multipart:!0,slice_blob:!1,stream_upload:!1,summon_file_dialog:!1,upload_filesize:!0,use_http_method:!0},a),n.preferred_caps&&(f=i.getMode(s,n.preferred_caps,f)),l=function(){var t={};return{exec:function(e,n,i,r){return l[n]&&(t[e]||(t[e]={context:this,instance:new l[n]}),t[e].instance[i])?t[e].instance[i].apply(this,r):void 0},removeInstance:function(e){delete t[e]},removeAllInstances:function(){var n=this;e.each(t,function(t,i){"function"===e.typeOf(t.instance.destroy)&&t.instance.destroy.call(t.context),n.removeInstance(i)})}}}(),e.extend(this,{initialized:!1,uid:d,type:r,mode:i.getMode(s,n.required_caps,f),shimid:d+"_container",clients:0,options:n,can:function(t,n){var r=arguments[2]||a;if("string"===e.typeOf(t)&&"undefined"===e.typeOf(n)&&(t=i.parseCaps(t)),"object"===e.typeOf(t)){for(var o in t)if(!this.can(o,t[o],r))return!1;return!0}return"function"===e.typeOf(r[t])?r[t].call(this,n):n===r[t]},getShimContainer:function(){var n,i=t.get(this.shimid);return i||(n=this.options.container?t.get(this.options.container):document.body,i=document.createElement("div"),i.id=this.shimid,i.className="moxie-shim moxie-shim-"+this.type,e.extend(i.style,{position:"absolute",top:"0px",left:"0px",width:"1px",height:"1px",overflow:"hidden"}),n.appendChild(i),n=null),i},getShim:function(){return l},shimExec:function(e,t){var n=[].slice.call(arguments,2);return c.getShim().exec.call(this,this.uid,e,t,n)},exec:function(e,t){var n=[].slice.call(arguments,2);return c[e]&&c[e][t]?c[e][t].apply(this,n):c.shimExec.apply(this,arguments)},destroy:function(){if(c){var e=t.get(this.shimid);e&&e.parentNode.removeChild(e),l&&l.removeAllInstances(),this.unbindAll(),delete o[this.uid],this.uid=null,d=c=l=e=null}}}),this.mode&&n.required_caps&&!this.can(n.required_caps)&&(this.mode=!1)}var r={},o={};return i.order="html5,flash,silverlight,html4",i.getRuntime=function(e){return o[e]?o[e]:!1},i.addConstructor=function(e,t){t.prototype=n.instance,r[e]=t},i.getConstructor=function(e){return r[e]||null},i.getInfo=function(e){var t=i.getRuntime(e);return t?{uid:t.uid,type:t.type,mode:t.mode,can:function(){return t.can.apply(t,arguments)}}:null},i.parseCaps=function(t){var n={};return"string"!==e.typeOf(t)?t||{}:(e.each(t.split(","),function(e){n[e]=!0}),n)},i.can=function(e,t){var n,r=i.getConstructor(e),o;return r?(n=new r({required_caps:t}),o=n.mode,n.destroy(),!!o):!1},i.thatCan=function(e,t){var n=(t||i.order).split(/\s*,\s*/);for(var r in n)if(i.can(n[r],e))return n[r];return null},i.getMode=function(t,n,i){var r=null;if("undefined"===e.typeOf(i)&&(i="browser"),n&&!e.isEmptyObj(t)){if(e.each(n,function(n,i){if(t.hasOwnProperty(i)){var o=t[i](n);if("string"==typeof o&&(o=[o]),r){if(!(r=e.arrayIntersect(r,o)))return r=!1}else r=o}}),r)return-1!==e.inArray(i,r)?i:r[0];if(r===!1)return!1}return i},i.capTrue=function(){return!0},i.capFalse=function(){return!1},i.capTest=function(e){return function(){return!!e}},i}),i(v,[h,u,g],function(e,t,n){return function i(){var i;t.extend(this,{connectRuntime:function(r){function o(t){var s,u;return t.length?(s=t.shift(),(u=n.getConstructor(s))?(i=new u(r),i.bind("Init",function(){i.initialized=!0,setTimeout(function(){i.clients++,a.trigger("RuntimeInit",i)},1)}),i.bind("Error",function(){i.destroy(),o(t)}),i.mode?void i.init():void i.trigger("Error")):void o(t)):(a.trigger("RuntimeError",new e.RuntimeError(e.RuntimeError.NOT_INIT_ERR)),void(i=null))}var a=this,s;if("string"===t.typeOf(r)?s=r:"string"===t.typeOf(r.ruid)&&(s=r.ruid),s){if(i=n.getRuntime(s))return i.clients++,i;throw new e.RuntimeError(e.RuntimeError.NOT_INIT_ERR)}o((r.runtime_order||n.order).split(/\s*,\s*/))},getRuntime:function(){return i&&i.uid?i:(i=null,null)},disconnectRuntime:function(){i&&--i.clients<=0&&(i.destroy(),i=null)}})}}),i(y,[u,m,v],function(e,t,n){function i(o,a){function s(t,n,o){var a,s=r[this.uid];return"string"===e.typeOf(s)&&s.length?(a=new i(null,{type:o,size:n-t}),a.detach(s.substr(t,a.size)),a):null}n.call(this),o&&this.connectRuntime(o),a?"string"===e.typeOf(a)&&(a={data:a}):a={},e.extend(this,{uid:a.uid||e.guid("uid_"),ruid:o,size:a.size||0,type:a.type||"",slice:function(e,t,n){return this.isDetached()?s.apply(this,arguments):this.getRuntime().exec.call(this,"Blob","slice",this.getSource(),e,t,n)},getSource:function(){return r[this.uid]?r[this.uid]:null},detach:function(e){this.ruid&&(this.getRuntime().exec.call(this,"Blob","destroy"),this.disconnectRuntime(),this.ruid=null),e=e||"";var n=e.match(/^data:([^;]*);base64,/);n&&(this.type=n[1],e=t.atob(e.substring(e.indexOf("base64,")+7))),this.size=e.length,r[this.uid]=e},isDetached:function(){return!this.ruid&&"string"===e.typeOf(r[this.uid])},destroy:function(){this.detach(),delete r[this.uid]}}),a.data?this.detach(a.data):r[this.uid]=a}var r={};return i}),i(w,[u,l,y],function(e,t,n){function i(i,r){var o,a;if(r||(r={}),a=r.type&&""!==r.type?r.type:t.getFileMime(r.name),r.name)o=r.name.replace(/\\/g,"/"),o=o.substr(o.lastIndexOf("/")+1);else{var s=a.split("/")[0];o=e.guid((""!==s?s:"file")+"_"),t.extensions[a]&&(o+="."+t.extensions[a][0])}n.apply(this,arguments),e.extend(this,{type:a||"",name:o||e.guid("file_"),lastModifiedDate:r.lastModifiedDate||(new Date).toLocaleString()})}return i.prototype=n.prototype,i}),i(E,[u,l,f,h,p,c,w,g,v],function(e,t,n,i,r,o,a,s,u){function c(r){var c=this,d,f,h;if(-1!==e.inArray(e.typeOf(r),["string","node"])&&(r={browse_button:r}),f=n.get(r.browse_button),!f)throw new i.DOMException(i.DOMException.NOT_FOUND_ERR);h={accept:[{title:o.translate("All Files"),extensions:"*"}],name:"file",multiple:!1,required_caps:!1,container:f.parentNode||document.body},r=e.extend({},h,r),"string"==typeof r.required_caps&&(r.required_caps=s.parseCaps(r.required_caps)),"string"==typeof r.accept&&(r.accept=t.mimes2extList(r.accept)),d=n.get(r.container),d||(d=document.body),"static"===n.getStyle(d,"position")&&(d.style.position="relative"),d=f=null,u.call(c),e.extend(c,{uid:e.guid("uid_"),ruid:null,shimid:null,files:null,init:function(){c.convertEventPropsToHandlers(l),c.bind("RuntimeInit",function(t,i){c.ruid=i.uid,c.shimid=i.shimid,c.bind("Ready",function(){c.trigger("Refresh")},999),c.bind("Change",function(){var t=i.exec.call(c,"FileInput","getFiles");c.files=[],e.each(t,function(e){return 0===e.size?!0:void c.files.push(new a(c.ruid,e))})},999),c.bind("Refresh",function(){var t,o,a,s;a=n.get(r.browse_button),s=n.get(i.shimid),a&&(t=n.getPos(a,n.get(r.container)),o=n.getSize(a),s&&e.extend(s.style,{top:t.y+"px",left:t.x+"px",width:o.w+"px",height:o.h+"px"})),s=a=null}),i.exec.call(c,"FileInput","init",r)}),c.connectRuntime(e.extend({},r,{required_caps:{select_file:!0}}))},disable:function(t){var n=this.getRuntime();n&&n.exec.call(this,"FileInput","disable","undefined"===e.typeOf(t)?!0:t)},refresh:function(){c.trigger("Refresh")},destroy:function(){var t=this.getRuntime();t&&(t.exec.call(this,"FileInput","destroy"),this.disconnectRuntime()),"array"===e.typeOf(this.files)&&e.each(this.files,function(e){e.destroy()}),this.files=null}})}var l=["ready","change","cancel","mouseenter","mouseleave","mousedown","mouseup"];return c.prototype=r.instance,c}),i(_,[c,f,h,u,w,v,p,l],function(e,t,n,i,r,o,a,s){function u(n){var a=this,u;"string"==typeof n&&(n={drop_zone:n}),u={accept:[{title:e.translate("All Files"),extensions:"*"}],required_caps:{drag_and_drop:!0}},n="object"==typeof n?i.extend({},u,n):u,n.container=t.get(n.drop_zone)||document.body,"static"===t.getStyle(n.container,"position")&&(n.container.style.position="relative"),"string"==typeof n.accept&&(n.accept=s.mimes2extList(n.accept)),o.call(a),i.extend(a,{uid:i.guid("uid_"),ruid:null,files:null,init:function(){a.convertEventPropsToHandlers(c),a.bind("RuntimeInit",function(e,t){a.ruid=t.uid,a.bind("Drop",function(){var e=t.exec.call(a,"FileDrop","getFiles");a.files=[],i.each(e,function(e){a.files.push(new r(a.ruid,e))})},999),t.exec.call(a,"FileDrop","init",n),a.dispatchEvent("ready")}),a.connectRuntime(n)},destroy:function(){var e=this.getRuntime();e&&(e.exec.call(this,"FileDrop","destroy"),this.disconnectRuntime()),this.files=null}})}var c=["ready","dragenter","dragleave","drop","error"];return u.prototype=a.instance,u}),i(x,[u,v,p],function(e,t,n){function i(){this.uid=e.guid("uid_"),t.call(this),this.destroy=function(){this.disconnectRuntime(),this.unbindAll()}}return i.prototype=n.instance,i}),i(b,[u,m,h,p,y,w,x],function(e,t,n,i,r,o,a){function s(){function i(e,i){function l(e){o.readyState=s.DONE,o.error=e,o.trigger("error"),d()}function d(){c.destroy(),c=null,o.trigger("loadend")}function f(t){c.bind("Error",function(e,t){l(t)}),c.bind("Progress",function(e){o.result=t.exec.call(c,"FileReader","getResult"),o.trigger(e)}),c.bind("Load",function(e){o.readyState=s.DONE,o.result=t.exec.call(c,"FileReader","getResult"),o.trigger(e),d()}),t.exec.call(c,"FileReader","read",e,i)}if(c=new a,this.convertEventPropsToHandlers(u),this.readyState===s.LOADING)return l(new n.DOMException(n.DOMException.INVALID_STATE_ERR));if(this.readyState=s.LOADING,this.trigger("loadstart"),i instanceof r)if(i.isDetached()){var h=i.getSource();switch(e){case"readAsText":case"readAsBinaryString":this.result=h;break;case"readAsDataURL":this.result="data:"+i.type+";base64,"+t.btoa(h)}this.readyState=s.DONE,this.trigger("load"),d()}else f(c.connectRuntime(i.ruid));else l(new n.DOMException(n.DOMException.NOT_FOUND_ERR))}var o=this,c;e.extend(this,{uid:e.guid("uid_"),readyState:s.EMPTY,result:null,error:null,readAsBinaryString:function(e){i.call(this,"readAsBinaryString",e)},readAsDataURL:function(e){i.call(this,"readAsDataURL",e)},readAsText:function(e){i.call(this,"readAsText",e)},abort:function(){this.result=null,-1===e.inArray(this.readyState,[s.EMPTY,s.DONE])&&(this.readyState===s.LOADING&&(this.readyState=s.DONE),c&&c.getRuntime().exec.call(this,"FileReader","abort"),this.trigger("abort"),this.trigger("loadend"))
14
+ },destroy:function(){this.abort(),c&&(c.getRuntime().exec.call(this,"FileReader","destroy"),c.disconnectRuntime()),o=c=null}})}var u=["loadstart","progress","load","abort","error","loadend"];return s.EMPTY=0,s.LOADING=1,s.DONE=2,s.prototype=i.instance,s}),i(R,[],function(){var e=function(t,n){for(var i=["source","scheme","authority","userInfo","user","pass","host","port","relative","path","directory","file","query","fragment"],r=i.length,o={http:80,https:443},a={},s=/^(?:([^:\/?#]+):)?(?:\/\/()(?:(?:()(?:([^:@]*):?([^:@]*))?@)?([^:\/?#]*)(?::(\d*))?))?()(?:(()(?:(?:[^?#\/]*\/)*)()(?:[^?#]*))(?:\\?([^#]*))?(?:#(.*))?)/,u=s.exec(t||"");r--;)u[r]&&(a[i[r]]=u[r]);if(!a.scheme){n&&"string"!=typeof n||(n=e(n||document.location.href)),a.scheme=n.scheme,a.host=n.host,a.port=n.port;var c="";/^[^\/]/.test(a.path)&&(c=n.path,/(\/|\/[^\.]+)$/.test(c)?c+="/":c=c.replace(/\/[^\/]+$/,"/")),a.path=c+(a.path||"")}return a.port||(a.port=o[a.scheme]||80),a.port=parseInt(a.port,10),a.path||(a.path="/"),delete a.source,a},t=function(t){var n={http:80,https:443},i=e(t);return i.scheme+"://"+i.host+(i.port!==n[i.scheme]?":"+i.port:"")+i.path+(i.query?i.query:"")},n=function(t){function n(e){return[e.scheme,e.host,e.port].join("/")}return"string"==typeof t&&(t=e(t)),n(e())===n(t)};return{parseUrl:e,resolveUrl:t,hasSameOrigin:n}}),i(T,[u,v,m],function(e,t,n){return function(){function i(e,t){if(!t.isDetached()){var i=this.connectRuntime(t.ruid).exec.call(this,"FileReaderSync","read",e,t);return this.disconnectRuntime(),i}var r=t.getSource();switch(e){case"readAsBinaryString":return r;case"readAsDataURL":return"data:"+t.type+";base64,"+n.btoa(r);case"readAsText":for(var o="",a=0,s=r.length;s>a;a++)o+=String.fromCharCode(r[a]);return o}}t.call(this),e.extend(this,{uid:e.guid("uid_"),readAsBinaryString:function(e){return i.call(this,"readAsBinaryString",e)},readAsDataURL:function(e){return i.call(this,"readAsDataURL",e)},readAsText:function(e){return i.call(this,"readAsText",e)}})}}),i(A,[h,u,y],function(e,t,n){function i(){var e,i=[];t.extend(this,{append:function(r,o){var a=this,s=t.typeOf(o);o instanceof n?e={name:r,value:o}:"array"===s?(r+="[]",t.each(o,function(e){a.append(r,e)})):"object"===s?t.each(o,function(e,t){a.append(r+"["+t+"]",e)}):"null"===s||"undefined"===s||"number"===s&&isNaN(o)?a.append(r,"false"):i.push({name:r,value:o.toString()})},hasBlob:function(){return!!this.getBlob()},getBlob:function(){return e&&e.value||null},getBlobName:function(){return e&&e.name||null},each:function(n){t.each(i,function(e){n(e.value,e.name)}),e&&n(e.value,e.name)},destroy:function(){e=null,i=[]}})}return i}),i(S,[u,h,p,m,R,g,x,y,T,A,d,l],function(e,t,n,i,r,o,a,s,u,c,l,d){function f(){this.uid=e.guid("uid_")}function h(){function n(e,t){return y.hasOwnProperty(e)?1===arguments.length?l.can("define_property")?y[e]:v[e]:void(l.can("define_property")?y[e]=t:v[e]=t):void 0}function u(t){function i(){k&&(k.destroy(),k=null),s.dispatchEvent("loadend"),s=null}function r(r){k.bind("LoadStart",function(e){n("readyState",h.LOADING),s.dispatchEvent("readystatechange"),s.dispatchEvent(e),I&&s.upload.dispatchEvent(e)}),k.bind("Progress",function(e){n("readyState")!==h.LOADING&&(n("readyState",h.LOADING),s.dispatchEvent("readystatechange")),s.dispatchEvent(e)}),k.bind("UploadProgress",function(e){I&&s.upload.dispatchEvent({type:"progress",lengthComputable:!1,total:e.total,loaded:e.loaded})}),k.bind("Load",function(t){n("readyState",h.DONE),n("status",Number(r.exec.call(k,"XMLHttpRequest","getStatus")||0)),n("statusText",p[n("status")]||""),n("response",r.exec.call(k,"XMLHttpRequest","getResponse",n("responseType"))),~e.inArray(n("responseType"),["text",""])?n("responseText",n("response")):"document"===n("responseType")&&n("responseXML",n("response")),U=r.exec.call(k,"XMLHttpRequest","getAllResponseHeaders"),s.dispatchEvent("readystatechange"),n("status")>0?(I&&s.upload.dispatchEvent(t),s.dispatchEvent(t)):(N=!0,s.dispatchEvent("error")),i()}),k.bind("Abort",function(e){s.dispatchEvent(e),i()}),k.bind("Error",function(e){N=!0,n("readyState",h.DONE),s.dispatchEvent("readystatechange"),D=!0,s.dispatchEvent(e),i()}),r.exec.call(k,"XMLHttpRequest","send",{url:E,method:_,async:w,user:b,password:R,headers:x,mimeType:A,encoding:T,responseType:s.responseType,withCredentials:s.withCredentials,options:P},t)}var s=this;M=(new Date).getTime(),k=new a,"string"==typeof P.required_caps&&(P.required_caps=o.parseCaps(P.required_caps)),P.required_caps=e.extend({},P.required_caps,{return_response_type:s.responseType}),t instanceof c&&(P.required_caps.send_multipart=!0),L||(P.required_caps.do_cors=!0),P.ruid?r(k.connectRuntime(P)):(k.bind("RuntimeInit",function(e,t){r(t)}),k.bind("RuntimeError",function(e,t){s.dispatchEvent("RuntimeError",t)}),k.connectRuntime(P))}function g(){n("responseText",""),n("responseXML",null),n("response",null),n("status",0),n("statusText",""),M=C=null}var v=this,y={timeout:0,readyState:h.UNSENT,withCredentials:!1,status:0,statusText:"",responseType:"",responseXML:null,responseText:null,response:null},w=!0,E,_,x={},b,R,T=null,A=null,S=!1,O=!1,I=!1,D=!1,N=!1,L=!1,M,C,F=null,H=null,P={},k,U="",B;e.extend(this,y,{uid:e.guid("uid_"),upload:new f,open:function(o,a,s,u,c){var l;if(!o||!a)throw new t.DOMException(t.DOMException.SYNTAX_ERR);if(/[\u0100-\uffff]/.test(o)||i.utf8_encode(o)!==o)throw new t.DOMException(t.DOMException.SYNTAX_ERR);if(~e.inArray(o.toUpperCase(),["CONNECT","DELETE","GET","HEAD","OPTIONS","POST","PUT","TRACE","TRACK"])&&(_=o.toUpperCase()),~e.inArray(_,["CONNECT","TRACE","TRACK"]))throw new t.DOMException(t.DOMException.SECURITY_ERR);if(a=i.utf8_encode(a),l=r.parseUrl(a),L=r.hasSameOrigin(l),E=r.resolveUrl(a),(u||c)&&!L)throw new t.DOMException(t.DOMException.INVALID_ACCESS_ERR);if(b=u||l.user,R=c||l.pass,w=s||!0,w===!1&&(n("timeout")||n("withCredentials")||""!==n("responseType")))throw new t.DOMException(t.DOMException.INVALID_ACCESS_ERR);S=!w,O=!1,x={},g.call(this),n("readyState",h.OPENED),this.convertEventPropsToHandlers(["readystatechange"]),this.dispatchEvent("readystatechange")},setRequestHeader:function(r,o){var a=["accept-charset","accept-encoding","access-control-request-headers","access-control-request-method","connection","content-length","cookie","cookie2","content-transfer-encoding","date","expect","host","keep-alive","origin","referer","te","trailer","transfer-encoding","upgrade","user-agent","via"];if(n("readyState")!==h.OPENED||O)throw new t.DOMException(t.DOMException.INVALID_STATE_ERR);if(/[\u0100-\uffff]/.test(r)||i.utf8_encode(r)!==r)throw new t.DOMException(t.DOMException.SYNTAX_ERR);return r=e.trim(r).toLowerCase(),~e.inArray(r,a)||/^(proxy\-|sec\-)/.test(r)?!1:(x[r]?x[r]+=", "+o:x[r]=o,!0)},getAllResponseHeaders:function(){return U||""},getResponseHeader:function(t){return t=t.toLowerCase(),N||~e.inArray(t,["set-cookie","set-cookie2"])?null:U&&""!==U&&(B||(B={},e.each(U.split(/\r\n/),function(t){var n=t.split(/:\s+/);2===n.length&&(n[0]=e.trim(n[0]),B[n[0].toLowerCase()]={header:n[0],value:e.trim(n[1])})})),B.hasOwnProperty(t))?B[t].header+": "+B[t].value:null},overrideMimeType:function(i){var r,o;if(~e.inArray(n("readyState"),[h.LOADING,h.DONE]))throw new t.DOMException(t.DOMException.INVALID_STATE_ERR);if(i=e.trim(i.toLowerCase()),/;/.test(i)&&(r=i.match(/^([^;]+)(?:;\scharset\=)?(.*)$/))&&(i=r[1],r[2]&&(o=r[2])),!d.mimes[i])throw new t.DOMException(t.DOMException.SYNTAX_ERR);F=i,H=o},send:function(n,r){if(P="string"===e.typeOf(r)?{ruid:r}:r?r:{},this.convertEventPropsToHandlers(m),this.upload.convertEventPropsToHandlers(m),this.readyState!==h.OPENED||O)throw new t.DOMException(t.DOMException.INVALID_STATE_ERR);if(n instanceof s)P.ruid=n.ruid,A=n.type||"application/octet-stream";else if(n instanceof c){if(n.hasBlob()){var o=n.getBlob();P.ruid=o.ruid,A=o.type||"application/octet-stream"}}else"string"==typeof n&&(T="UTF-8",A="text/plain;charset=UTF-8",n=i.utf8_encode(n));this.withCredentials||(this.withCredentials=P.required_caps&&P.required_caps.send_browser_cookies&&!L),I=!S&&this.upload.hasEventListener(),N=!1,D=!n,S||(O=!0),u.call(this,n)},abort:function(){if(N=!0,S=!1,~e.inArray(n("readyState"),[h.UNSENT,h.OPENED,h.DONE]))n("readyState",h.UNSENT);else{if(n("readyState",h.DONE),O=!1,!k)throw new t.DOMException(t.DOMException.INVALID_STATE_ERR);k.getRuntime().exec.call(k,"XMLHttpRequest","abort",D),D=!0}},destroy:function(){k&&("function"===e.typeOf(k.destroy)&&k.destroy(),k=null),this.unbindAll(),this.upload&&(this.upload.unbindAll(),this.upload=null)}})}var p={100:"Continue",101:"Switching Protocols",102:"Processing",200:"OK",201:"Created",202:"Accepted",203:"Non-Authoritative Information",204:"No Content",205:"Reset Content",206:"Partial Content",207:"Multi-Status",226:"IM Used",300:"Multiple Choices",301:"Moved Permanently",302:"Found",303:"See Other",304:"Not Modified",305:"Use Proxy",306:"Reserved",307:"Temporary Redirect",400:"Bad Request",401:"Unauthorized",402:"Payment Required",403:"Forbidden",404:"Not Found",405:"Method Not Allowed",406:"Not Acceptable",407:"Proxy Authentication Required",408:"Request Timeout",409:"Conflict",410:"Gone",411:"Length Required",412:"Precondition Failed",413:"Request Entity Too Large",414:"Request-URI Too Long",415:"Unsupported Media Type",416:"Requested Range Not Satisfiable",417:"Expectation Failed",422:"Unprocessable Entity",423:"Locked",424:"Failed Dependency",426:"Upgrade Required",500:"Internal Server Error",501:"Not Implemented",502:"Bad Gateway",503:"Service Unavailable",504:"Gateway Timeout",505:"HTTP Version Not Supported",506:"Variant Also Negotiates",507:"Insufficient Storage",510:"Not Extended"};f.prototype=n.instance;var m=["loadstart","progress","abort","error","load","timeout","loadend"],g=1,v=2;return h.UNSENT=0,h.OPENED=1,h.HEADERS_RECEIVED=2,h.LOADING=3,h.DONE=4,h.prototype=n.instance,h}),i(O,[u,m,v,p],function(e,t,n,i){function r(){function i(){l=d=0,c=this.result=null}function o(t,n){var i=this;u=n,i.bind("TransportingProgress",function(t){d=t.loaded,l>d&&-1===e.inArray(i.state,[r.IDLE,r.DONE])&&a.call(i)},999),i.bind("TransportingComplete",function(){d=l,i.state=r.DONE,c=null,i.result=u.exec.call(i,"Transporter","getAsBlob",t||"")},999),i.state=r.BUSY,i.trigger("TransportingStarted"),a.call(i)}function a(){var e=this,n,i=l-d;f>i&&(f=i),n=t.btoa(c.substr(d,f)),u.exec.call(e,"Transporter","receive",n,l)}var s,u,c,l,d,f;n.call(this),e.extend(this,{uid:e.guid("uid_"),state:r.IDLE,result:null,transport:function(t,n,r){var a=this;if(r=e.extend({chunk_size:204798},r),(s=r.chunk_size%3)&&(r.chunk_size+=3-s),f=r.chunk_size,i.call(this),c=t,l=t.length,"string"===e.typeOf(r)||r.ruid)o.call(a,n,this.connectRuntime(r));else{var u=function(e,t){a.unbind("RuntimeInit",u),o.call(a,n,t)};this.bind("RuntimeInit",u),this.connectRuntime(r)}},abort:function(){var e=this;e.state=r.IDLE,u&&(u.exec.call(e,"Transporter","clear"),e.trigger("TransportingAborted")),i.call(e)},destroy:function(){this.unbindAll(),u=null,this.disconnectRuntime(),i.call(this)}})}return r.IDLE=0,r.BUSY=1,r.DONE=2,r.prototype=i.instance,r}),i(I,[u,f,h,T,S,g,v,O,d,p,y,w,m],function(e,t,n,i,r,o,a,s,u,c,l,d,f){function h(){function i(e){e||(e=this.getRuntime().exec.call(this,"Image","getInfo")),this.size=e.size,this.width=e.width,this.height=e.height,this.type=e.type,this.meta=e.meta,""===this.name&&(this.name=e.name)}function c(t){var i=e.typeOf(t);try{if(t instanceof h){if(!t.size)throw new n.DOMException(n.DOMException.INVALID_STATE_ERR);m.apply(this,arguments)}else if(t instanceof l){if(!~e.inArray(t.type,["image/jpeg","image/png"]))throw new n.ImageError(n.ImageError.WRONG_FORMAT);g.apply(this,arguments)}else if(-1!==e.inArray(i,["blob","file"]))c.call(this,new d(null,t),arguments[1]);else if("string"===i)/^data:[^;]*;base64,/.test(t)?c.call(this,new l(null,{data:t}),arguments[1]):v.apply(this,arguments);else{if("node"!==i||"img"!==t.nodeName.toLowerCase())throw new n.DOMException(n.DOMException.TYPE_MISMATCH_ERR);c.call(this,t.src,arguments[1])}}catch(r){this.trigger("error",r.code)}}function m(t,n){var i=this.connectRuntime(t.ruid);this.ruid=i.uid,i.exec.call(this,"Image","loadFromImage",t,"undefined"===e.typeOf(n)?!0:n)}function g(t,n){function i(e){r.ruid=e.uid,e.exec.call(r,"Image","loadFromBlob",t)}var r=this;r.name=t.name||"",t.isDetached()?(this.bind("RuntimeInit",function(e,t){i(t)}),n&&"string"==typeof n.required_caps&&(n.required_caps=o.parseCaps(n.required_caps)),this.connectRuntime(e.extend({required_caps:{access_image_binary:!0,resize_image:!0}},n))):i(this.connectRuntime(t.ruid))}function v(e,t){var n=this,i;i=new r,i.open("get",e),i.responseType="blob",i.onprogress=function(e){n.trigger(e)},i.onload=function(){g.call(n,i.response,!0)},i.onerror=function(e){n.trigger(e)},i.onloadend=function(){i.destroy()},i.bind("RuntimeError",function(e,t){n.trigger("RuntimeError",t)}),i.send(null,t)}a.call(this),e.extend(this,{uid:e.guid("uid_"),ruid:null,name:"",size:0,width:0,height:0,type:"",meta:{},clone:function(){this.load.apply(this,arguments)},load:function(){this.bind("Load Resize",function(){i.call(this)},999),this.convertEventPropsToHandlers(p),c.apply(this,arguments)},downsize:function(t){var i={width:this.width,height:this.height,crop:!1,preserveHeaders:!0};t="object"==typeof t?e.extend(i,t):e.extend(i,{width:arguments[0],height:arguments[1],crop:arguments[2],preserveHeaders:arguments[3]});try{if(!this.size)throw new n.DOMException(n.DOMException.INVALID_STATE_ERR);if(this.width>h.MAX_RESIZE_WIDTH||this.height>h.MAX_RESIZE_HEIGHT)throw new n.ImageError(n.ImageError.MAX_RESOLUTION_ERR);this.getRuntime().exec.call(this,"Image","downsize",t.width,t.height,t.crop,t.preserveHeaders)}catch(r){this.trigger("error",r.code)}},crop:function(e,t,n){this.downsize(e,t,!0,n)},getAsCanvas:function(){if(!u.can("create_canvas"))throw new n.RuntimeError(n.RuntimeError.NOT_SUPPORTED_ERR);var e=this.connectRuntime(this.ruid);return e.exec.call(this,"Image","getAsCanvas")},getAsBlob:function(e,t){if(!this.size)throw new n.DOMException(n.DOMException.INVALID_STATE_ERR);return e||(e="image/jpeg"),"image/jpeg"!==e||t||(t=90),this.getRuntime().exec.call(this,"Image","getAsBlob",e,t)},getAsDataURL:function(e,t){if(!this.size)throw new n.DOMException(n.DOMException.INVALID_STATE_ERR);return this.getRuntime().exec.call(this,"Image","getAsDataURL",e,t)},getAsBinaryString:function(e,t){var n=this.getAsDataURL(e,t);return f.atob(n.substring(n.indexOf("base64,")+7))},embed:function(i){function r(){if(u.can("create_canvas")){var t=a.getAsCanvas();if(t)return i.appendChild(t),t=null,a.destroy(),void o.trigger("embedded")}var r=a.getAsDataURL(c,l);if(!r)throw new n.ImageError(n.ImageError.WRONG_FORMAT);if(u.can("use_data_uri_of",r.length))i.innerHTML='<img src="'+r+'" width="'+a.width+'" height="'+a.height+'" />',a.destroy(),o.trigger("embedded");else{var d=new s;d.bind("TransportingComplete",function(){v=o.connectRuntime(this.result.ruid),o.bind("Embedded",function(){e.extend(v.getShimContainer().style,{top:"0px",left:"0px",width:a.width+"px",height:a.height+"px"}),v=null},999),v.exec.call(o,"ImageView","display",this.result.uid,m,g),a.destroy()}),d.transport(f.atob(r.substring(r.indexOf("base64,")+7)),c,e.extend({},p,{required_caps:{display_media:!0},runtime_order:"flash,silverlight",container:i}))}}var o=this,a,c,l,d,p=arguments[1]||{},m=this.width,g=this.height,v;try{if(!(i=t.get(i)))throw new n.DOMException(n.DOMException.INVALID_NODE_TYPE_ERR);if(!this.size)throw new n.DOMException(n.DOMException.INVALID_STATE_ERR);if(this.width>h.MAX_RESIZE_WIDTH||this.height>h.MAX_RESIZE_HEIGHT)throw new n.ImageError(n.ImageError.MAX_RESOLUTION_ERR);if(c=p.type||this.type||"image/jpeg",l=p.quality||90,d="undefined"!==e.typeOf(p.crop)?p.crop:!1,p.width)m=p.width,g=p.height||m;else{var y=t.getSize(i);y.w&&y.h&&(m=y.w,g=y.h)}return a=new h,a.bind("Resize",function(){r.call(o)}),a.bind("Load",function(){a.downsize(m,g,d,!1)}),a.clone(this,!1),a}catch(w){this.trigger("error",w.code)}},destroy:function(){this.ruid&&(this.getRuntime().exec.call(this,"Image","destroy"),this.disconnectRuntime()),this.unbindAll()}})}var p=["progress","load","error","resize","embedded"];return h.MAX_RESIZE_WIDTH=6500,h.MAX_RESIZE_HEIGHT=6500,h.prototype=c.instance,h}),i(D,[u,h,g,d],function(e,t,n,i){function r(t){var r=this,s=n.capTest,u=n.capTrue,c=e.extend({access_binary:s(window.FileReader||window.File&&window.File.getAsDataURL),access_image_binary:function(){return r.can("access_binary")&&!!a.Image},display_media:s(i.can("create_canvas")||i.can("use_data_uri_over32kb")),do_cors:s(window.XMLHttpRequest&&"withCredentials"in new XMLHttpRequest),drag_and_drop:s(function(){var e=document.createElement("div");return("draggable"in e||"ondragstart"in e&&"ondrop"in e)&&("IE"!==i.browser||i.version>9)}()),filter_by_extension:s(function(){return"Chrome"===i.browser&&i.version>=28||"IE"===i.browser&&i.version>=10}()),return_response_headers:u,return_response_type:function(e){return"json"===e&&window.JSON?!0:i.can("return_response_type",e)},return_status_code:u,report_upload_progress:s(window.XMLHttpRequest&&(new XMLHttpRequest).upload),resize_image:function(){return r.can("access_binary")&&i.can("create_canvas")},select_file:function(){return i.can("use_fileinput")&&window.File},select_folder:function(){return r.can("select_file")&&"Chrome"===i.browser&&i.version>=21},select_multiple:function(){return!(!r.can("select_file")||"Safari"===i.browser&&"Windows"===i.os||"iOS"===i.os&&i.verComp(i.osVersion,"7.0.4","<"))},send_binary_string:s(window.XMLHttpRequest&&((new XMLHttpRequest).sendAsBinary||window.Uint8Array&&window.ArrayBuffer)),send_custom_headers:s(window.XMLHttpRequest),send_multipart:function(){return!!(window.XMLHttpRequest&&(new XMLHttpRequest).upload&&window.FormData)||r.can("send_binary_string")},slice_blob:s(window.File&&(File.prototype.mozSlice||File.prototype.webkitSlice||File.prototype.slice)),stream_upload:function(){return r.can("slice_blob")&&r.can("send_multipart")},summon_file_dialog:s(function(){return"Firefox"===i.browser&&i.version>=4||"Opera"===i.browser&&i.version>=12||"IE"===i.browser&&i.version>=10||!!~e.inArray(i.browser,["Chrome","Safari"])}()),upload_filesize:u},arguments[2]);n.call(this,t,arguments[1]||o,c),e.extend(this,{init:function(){this.trigger("Init")},destroy:function(e){return function(){e.call(r),e=r=null}}(this.destroy)}),e.extend(this.getShim(),a)}var o="html5",a={};return n.addConstructor(o,r),a}),i(N,[D,y],function(e,t){function n(){function e(e,t,n){var i;if(!window.File.prototype.slice)return(i=window.File.prototype.webkitSlice||window.File.prototype.mozSlice)?i.call(e,t,n):null;try{return e.slice(),e.slice(t,n)}catch(r){return e.slice(t,n-t)}}this.slice=function(){return new t(this.getRuntime().uid,e.apply(this,arguments))}}return e.Blob=n}),i(L,[u],function(e){function t(){this.returnValue=!1}function n(){this.cancelBubble=!0}var i={},r="moxie_"+e.guid(),o=function(o,a,s,u){var c,l;a=a.toLowerCase(),o.addEventListener?(c=s,o.addEventListener(a,c,!1)):o.attachEvent&&(c=function(){var e=window.event;e.target||(e.target=e.srcElement),e.preventDefault=t,e.stopPropagation=n,s(e)},o.attachEvent("on"+a,c)),o[r]||(o[r]=e.guid()),i.hasOwnProperty(o[r])||(i[o[r]]={}),l=i[o[r]],l.hasOwnProperty(a)||(l[a]=[]),l[a].push({func:c,orig:s,key:u})},a=function(t,n,o){var a,s;if(n=n.toLowerCase(),t[r]&&i[t[r]]&&i[t[r]][n]){a=i[t[r]][n];for(var u=a.length-1;u>=0&&(a[u].orig!==o&&a[u].key!==o||(t.removeEventListener?t.removeEventListener(n,a[u].func,!1):t.detachEvent&&t.detachEvent("on"+n,a[u].func),a[u].orig=null,a[u].func=null,a.splice(u,1),o===s));u--);if(a.length||delete i[t[r]][n],e.isEmptyObj(i[t[r]])){delete i[t[r]];try{delete t[r]}catch(c){t[r]=s}}}},s=function(t,n){t&&t[r]&&e.each(i[t[r]],function(e,i){a(t,i,n)})};return{addEvent:o,removeEvent:a,removeAllEvents:s}}),i(M,[D,u,f,L,l,d],function(e,t,n,i,r,o){function a(){var e=[],a;t.extend(this,{init:function(s){var u=this,c=u.getRuntime(),l,d,f,h,p,m;a=s,e=[],f=a.accept.mimes||r.extList2mimes(a.accept,c.can("filter_by_extension")),d=c.getShimContainer(),d.innerHTML='<input id="'+c.uid+'" type="file" style="font-size:999px;opacity:0;"'+(a.multiple&&c.can("select_multiple")?"multiple":"")+(a.directory&&c.can("select_folder")?"webkitdirectory directory":"")+(f?' accept="'+f.join(",")+'"':"")+" />",l=n.get(c.uid),t.extend(l.style,{position:"absolute",top:0,left:0,width:"100%",height:"100%"}),h=n.get(a.browse_button),c.can("summon_file_dialog")&&("static"===n.getStyle(h,"position")&&(h.style.position="relative"),p=parseInt(n.getStyle(h,"z-index"),10)||1,h.style.zIndex=p,d.style.zIndex=p-1,i.addEvent(h,"click",function(e){var t=n.get(c.uid);t&&!t.disabled&&t.click(),e.preventDefault()},u.uid)),m=c.can("summon_file_dialog")?h:d,i.addEvent(m,"mouseover",function(){u.trigger("mouseenter")},u.uid),i.addEvent(m,"mouseout",function(){u.trigger("mouseleave")},u.uid),i.addEvent(m,"mousedown",function(){u.trigger("mousedown")},u.uid),i.addEvent(n.get(a.container),"mouseup",function(){u.trigger("mouseup")},u.uid),l.onchange=function g(){if(e=[],a.directory?t.each(this.files,function(t){"."!==t.name&&e.push(t)}):e=[].slice.call(this.files),"IE"!==o.browser&&"IEMobile"!==o.browser)this.value="";else{var n=this.cloneNode(!0);this.parentNode.replaceChild(n,this),n.onchange=g}u.trigger("change")},u.trigger({type:"ready",async:!0}),d=null},getFiles:function(){return e},disable:function(e){var t=this.getRuntime(),i;(i=n.get(t.uid))&&(i.disabled=!!e)},destroy:function(){var t=this.getRuntime(),r=t.getShim(),o=t.getShimContainer();i.removeAllEvents(o,this.uid),i.removeAllEvents(a&&n.get(a.container),this.uid),i.removeAllEvents(a&&n.get(a.browse_button),this.uid),o&&(o.innerHTML=""),r.removeInstance(this.uid),e=a=o=r=null}})}return e.FileInput=a}),i(C,[D,u,f,L,l],function(e,t,n,i,r){function o(){function e(e){if(!e.dataTransfer||!e.dataTransfer.types)return!1;var n=t.toArray(e.dataTransfer.types||[]);return-1!==t.inArray("Files",n)||-1!==t.inArray("public.file-url",n)||-1!==t.inArray("application/x-moz-file",n)}function o(e){for(var n=[],i=0;i<e.length;i++)[].push.apply(n,e[i].extensions.split(/\s*,\s*/));return-1===t.inArray("*",n)?n:[]}function a(e){if(!f.length)return!0;var n=r.getFileExtension(e.name);return!n||-1!==t.inArray(n,f)}function s(e,n){var i=[];t.each(e,function(e){var t=e.webkitGetAsEntry();if(t)if(t.isFile){var n=e.getAsFile();a(n)&&d.push(n)}else i.push(t)}),i.length?u(i,n):n()}function u(e,n){var i=[];t.each(e,function(e){i.push(function(t){c(e,t)})}),t.inSeries(i,function(){n()})}function c(e,t){e.isFile?e.file(function(e){a(e)&&d.push(e),t()},function(){t()}):e.isDirectory?l(e,t):t()}function l(e,t){function n(e){r.readEntries(function(t){t.length?([].push.apply(i,t),n(e)):e()},e)}var i=[],r=e.createReader();n(function(){u(i,t)})}var d=[],f=[],h;t.extend(this,{init:function(n){var r=this,u;h=n,f=o(h.accept),u=h.container,i.addEvent(u,"dragover",function(t){e(t)&&(t.preventDefault(),t.dataTransfer.dropEffect="copy")},r.uid),i.addEvent(u,"drop",function(n){e(n)&&(n.preventDefault(),d=[],n.dataTransfer.items&&n.dataTransfer.items[0].webkitGetAsEntry?s(n.dataTransfer.items,function(){r.trigger("drop")}):(t.each(n.dataTransfer.files,function(e){a(e)&&d.push(e)}),r.trigger("drop")))},r.uid),i.addEvent(u,"dragenter",function(e){r.trigger("dragenter")},r.uid),i.addEvent(u,"dragleave",function(e){r.trigger("dragleave")},r.uid)},getFiles:function(){return d},destroy:function(){i.removeAllEvents(h&&n.get(h.container),this.uid),d=f=h=null}})}return e.FileDrop=o}),i(F,[D,m,u],function(e,t,n){function i(){function e(e){return t.atob(e.substring(e.indexOf("base64,")+7))}var i,r=!1;n.extend(this,{read:function(e,t){var o=this;i=new window.FileReader,i.addEventListener("progress",function(e){o.trigger(e)}),i.addEventListener("load",function(e){o.trigger(e)}),i.addEventListener("error",function(e){o.trigger(e,i.error)}),i.addEventListener("loadend",function(){i=null}),"function"===n.typeOf(i[e])?(r=!1,i[e](t.getSource())):"readAsBinaryString"===e&&(r=!0,i.readAsDataURL(t.getSource()))},getResult:function(){return i&&i.result?r?e(i.result):i.result:null},abort:function(){i&&i.abort()},destroy:function(){i=null}})}return e.FileReader=i}),i(H,[D,u,l,R,w,y,A,h,d],function(e,t,n,i,r,o,a,s,u){function c(){function e(e,t){var n=this,i,r;i=t.getBlob().getSource(),r=new window.FileReader,r.onload=function(){t.append(t.getBlobName(),new o(null,{type:i.type,data:r.result})),f.send.call(n,e,t)},r.readAsBinaryString(i)}function c(){return!window.XMLHttpRequest||"IE"===u.browser&&u.version<8?function(){for(var e=["Msxml2.XMLHTTP.6.0","Microsoft.XMLHTTP"],t=0;t<e.length;t++)try{return new ActiveXObject(e[t])}catch(n){}}():new window.XMLHttpRequest}function l(e){var t=e.responseXML,n=e.responseText;return"IE"===u.browser&&n&&t&&!t.documentElement&&/[^\/]+\/[^\+]+\+xml/.test(e.getResponseHeader("Content-Type"))&&(t=new window.ActiveXObject("Microsoft.XMLDOM"),t.async=!1,t.validateOnParse=!1,t.loadXML(n)),t&&("IE"===u.browser&&0!==t.parseError||!t.documentElement||"parsererror"===t.documentElement.tagName)?null:t}function d(e){var t="----moxieboundary"+(new Date).getTime(),n="--",i="\r\n",r="",a=this.getRuntime();if(!a.can("send_binary_string"))throw new s.RuntimeError(s.RuntimeError.NOT_SUPPORTED_ERR);return h.setRequestHeader("Content-Type","multipart/form-data; boundary="+t),e.each(function(e,a){r+=e instanceof o?n+t+i+'Content-Disposition: form-data; name="'+a+'"; filename="'+unescape(encodeURIComponent(e.name||"blob"))+'"'+i+"Content-Type: "+(e.type||"application/octet-stream")+i+i+e.getSource()+i:n+t+i+'Content-Disposition: form-data; name="'+a+'"'+i+i+unescape(encodeURIComponent(e))+i}),r+=n+t+n+i}var f=this,h,p;t.extend(this,{send:function(n,r){var s=this,l="Mozilla"===u.browser&&u.version>=4&&u.version<7,f="Android Browser"===u.browser,m=!1;if(p=n.url.replace(/^.+?\/([\w\-\.]+)$/,"$1").toLowerCase(),h=c(),h.open(n.method,n.url,n.async,n.user,n.password),r instanceof o)r.isDetached()&&(m=!0),r=r.getSource();else if(r instanceof a){if(r.hasBlob())if(r.getBlob().isDetached())r=d.call(s,r),m=!0;else if((l||f)&&"blob"===t.typeOf(r.getBlob().getSource())&&window.FileReader)return void e.call(s,n,r);if(r instanceof a){var g=new window.FormData;r.each(function(e,t){e instanceof o?g.append(t,e.getSource()):g.append(t,e)}),r=g}}h.upload?(n.withCredentials&&(h.withCredentials=!0),h.addEventListener("load",function(e){s.trigger(e)}),h.addEventListener("error",function(e){s.trigger(e)}),h.addEventListener("progress",function(e){s.trigger(e)}),h.upload.addEventListener("progress",function(e){s.trigger({type:"UploadProgress",loaded:e.loaded,total:e.total})})):h.onreadystatechange=function v(){switch(h.readyState){case 1:break;case 2:break;case 3:var e,t;try{i.hasSameOrigin(n.url)&&(e=h.getResponseHeader("Content-Length")||0),h.responseText&&(t=h.responseText.length)}catch(r){e=t=0}s.trigger({type:"progress",lengthComputable:!!e,total:parseInt(e,10),loaded:t});break;case 4:h.onreadystatechange=function(){},s.trigger(0===h.status?"error":"load")}},t.isEmptyObj(n.headers)||t.each(n.headers,function(e,t){h.setRequestHeader(t,e)}),""!==n.responseType&&"responseType"in h&&(h.responseType="json"!==n.responseType||u.can("return_response_type","json")?n.responseType:"text"),m?h.sendAsBinary?h.sendAsBinary(r):!function(){for(var e=new Uint8Array(r.length),t=0;t<r.length;t++)e[t]=255&r.charCodeAt(t);h.send(e.buffer)}():h.send(r),s.trigger("loadstart")},getStatus:function(){try{if(h)return h.status}catch(e){}return 0},getResponse:function(e){var t=this.getRuntime();try{switch(e){case"blob":var i=new r(t.uid,h.response),o=h.getResponseHeader("Content-Disposition");if(o){var a=o.match(/filename=([\'\"'])([^\1]+)\1/);a&&(p=a[2])}return i.name=p,i.type||(i.type=n.getFileMime(p)),i;case"json":return u.can("return_response_type","json")?h.response:200===h.status&&window.JSON?JSON.parse(h.responseText):null;case"document":return l(h);default:return""!==h.responseText?h.responseText:null}}catch(s){return null}},getAllResponseHeaders:function(){try{return h.getAllResponseHeaders()}catch(e){}return""},abort:function(){h&&h.abort()},destroy:function(){f=p=null}})}return e.XMLHttpRequest=c}),i(P,[],function(){return function(){function e(e,t){var n=r?0:-8*(t-1),i=0,a;for(a=0;t>a;a++)i|=o.charCodeAt(e+a)<<Math.abs(n+8*a);return i}function n(e,t,n){n=3===arguments.length?n:o.length-t-1,o=o.substr(0,t)+e+o.substr(n+t)}function i(e,t,i){var o="",a=r?0:-8*(i-1),s;for(s=0;i>s;s++)o+=String.fromCharCode(t>>Math.abs(a+8*s)&255);n(o,e,i)}var r=!1,o;return{II:function(e){return e===t?r:void(r=e)},init:function(e){r=!1,o=e},SEGMENT:function(e,t,i){switch(arguments.length){case 1:return o.substr(e,o.length-e-1);case 2:return o.substr(e,t);case 3:n(i,e,t);break;default:return o}},BYTE:function(t){return e(t,1)},SHORT:function(t){return e(t,2)},LONG:function(n,r){return r===t?e(n,4):void i(n,r,4)},SLONG:function(t){var n=e(t,4);return n>2147483647?n-4294967296:n},STRING:function(t,n){var i="";for(n+=t;n>t;t++)i+=String.fromCharCode(e(t,1));return i}}}}),i(k,[P],function(e){return function t(n){var i=[],r,o,a,s=0;if(r=new e,r.init(n),65496===r.SHORT(0)){for(o=2;o<=n.length;)if(a=r.SHORT(o),a>=65488&&65495>=a)o+=2;else{if(65498===a||65497===a)break;s=r.SHORT(o+2)+2,a>=65505&&65519>=a&&i.push({hex:a,name:"APP"+(15&a),start:o,length:s,segment:r.SEGMENT(o,s)}),o+=s}return r.init(null),{headers:i,restore:function(e){var t,n;for(r.init(e),o=65504==r.SHORT(2)?4+r.SHORT(4):2,n=0,t=i.length;t>n;n++)r.SEGMENT(o,0,i[n].segment),o+=i[n].length;return e=r.SEGMENT(),r.init(null),e},strip:function(e){var n,i,o;for(i=new t(e),n=i.headers,i.purge(),r.init(e),o=n.length;o--;)r.SEGMENT(n[o].start,n[o].length,"");return e=r.SEGMENT(),r.init(null),e},get:function(e){for(var t=[],n=0,r=i.length;r>n;n++)i[n].name===e.toUpperCase()&&t.push(i[n].segment);return t},set:function(e,t){var n=[],r,o,a;for("string"==typeof t?n.push(t):n=t,r=o=0,a=i.length;a>r&&(i[r].name===e.toUpperCase()&&(i[r].segment=n[o],i[r].length=n[o].length,o++),!(o>=n.length));r++);},purge:function(){i=[],r.init(null),r=null}}}}}),i(U,[u,P],function(e,n){return function i(){function i(e,n){var i=a.SHORT(e),r,o,s,u,d,f,h,p,m=[],g={};for(r=0;i>r;r++)if(h=f=e+12*r+2,s=n[a.SHORT(h)],s!==t){switch(u=a.SHORT(h+=2),d=a.LONG(h+=2),h+=4,m=[],u){case 1:case 7:for(d>4&&(h=a.LONG(h)+c.tiffHeader),o=0;d>o;o++)m[o]=a.BYTE(h+o);break;case 2:d>4&&(h=a.LONG(h)+c.tiffHeader),g[s]=a.STRING(h,d-1);continue;case 3:for(d>2&&(h=a.LONG(h)+c.tiffHeader),o=0;d>o;o++)m[o]=a.SHORT(h+2*o);break;case 4:for(d>1&&(h=a.LONG(h)+c.tiffHeader),o=0;d>o;o++)m[o]=a.LONG(h+4*o);break;case 5:for(h=a.LONG(h)+c.tiffHeader,o=0;d>o;o++)m[o]=a.LONG(h+4*o)/a.LONG(h+4*o+4);break;case 9:for(h=a.LONG(h)+c.tiffHeader,o=0;d>o;o++)m[o]=a.SLONG(h+4*o);break;case 10:for(h=a.LONG(h)+c.tiffHeader,o=0;d>o;o++)m[o]=a.SLONG(h+4*o)/a.SLONG(h+4*o+4);break;default:continue}p=1==d?m[0]:m,g[s]=l.hasOwnProperty(s)&&"object"!=typeof p?l[s][p]:p}return g}function r(){var e=c.tiffHeader;return a.II(18761==a.SHORT(e)),42!==a.SHORT(e+=2)?!1:(c.IFD0=c.tiffHeader+a.LONG(e+=2),u=i(c.IFD0,s.tiff),"ExifIFDPointer"in u&&(c.exifIFD=c.tiffHeader+u.ExifIFDPointer,delete u.ExifIFDPointer),"GPSInfoIFDPointer"in u&&(c.gpsIFD=c.tiffHeader+u.GPSInfoIFDPointer,delete u.GPSInfoIFDPointer),!0)}function o(e,t,n){var i,r,o,u=0;if("string"==typeof t){var l=s[e.toLowerCase()];for(var d in l)if(l[d]===t){t=d;break}}i=c[e.toLowerCase()+"IFD"],r=a.SHORT(i);for(var f=0;r>f;f++)if(o=i+12*f+2,a.SHORT(o)==t){u=o+8;break}return u?(a.LONG(u,n),!0):!1}var a,s,u,c={},l;return a=new n,s={tiff:{274:"Orientation",270:"ImageDescription",271:"Make",272:"Model",305:"Software",34665:"ExifIFDPointer",34853:"GPSInfoIFDPointer"},exif:{36864:"ExifVersion",40961:"ColorSpace",40962:"PixelXDimension",40963:"PixelYDimension",36867:"DateTimeOriginal",33434:"ExposureTime",33437:"FNumber",34855:"ISOSpeedRatings",37377:"ShutterSpeedValue",37378:"ApertureValue",37383:"MeteringMode",37384:"LightSource",37385:"Flash",37386:"FocalLength",41986:"ExposureMode",41987:"WhiteBalance",41990:"SceneCaptureType",41988:"DigitalZoomRatio",41992:"Contrast",41993:"Saturation",41994:"Sharpness"},gps:{0:"GPSVersionID",1:"GPSLatitudeRef",2:"GPSLatitude",3:"GPSLongitudeRef",4:"GPSLongitude"}},l={ColorSpace:{1:"sRGB",0:"Uncalibrated"},MeteringMode:{0:"Unknown",1:"Average",2:"CenterWeightedAverage",3:"Spot",4:"MultiSpot",5:"Pattern",6:"Partial",255:"Other"},LightSource:{1:"Daylight",2:"Fliorescent",3:"Tungsten",4:"Flash",9:"Fine weather",10:"Cloudy weather",11:"Shade",12:"Daylight fluorescent (D 5700 - 7100K)",13:"Day white fluorescent (N 4600 -5400K)",14:"Cool white fluorescent (W 3900 - 4500K)",15:"White fluorescent (WW 3200 - 3700K)",17:"Standard light A",18:"Standard light B",19:"Standard light C",20:"D55",21:"D65",22:"D75",23:"D50",24:"ISO studio tungsten",255:"Other"},Flash:{0:"Flash did not fire.",1:"Flash fired.",5:"Strobe return light not detected.",7:"Strobe return light detected.",9:"Flash fired, compulsory flash mode",13:"Flash fired, compulsory flash mode, return light not detected",15:"Flash fired, compulsory flash mode, return light detected",16:"Flash did not fire, compulsory flash mode",24:"Flash did not fire, auto mode",25:"Flash fired, auto mode",29:"Flash fired, auto mode, return light not detected",31:"Flash fired, auto mode, return light detected",32:"No flash function",65:"Flash fired, red-eye reduction mode",69:"Flash fired, red-eye reduction mode, return light not detected",71:"Flash fired, red-eye reduction mode, return light detected",73:"Flash fired, compulsory flash mode, red-eye reduction mode",77:"Flash fired, compulsory flash mode, red-eye reduction mode, return light not detected",79:"Flash fired, compulsory flash mode, red-eye reduction mode, return light detected",89:"Flash fired, auto mode, red-eye reduction mode",93:"Flash fired, auto mode, return light not detected, red-eye reduction mode",95:"Flash fired, auto mode, return light detected, red-eye reduction mode"},ExposureMode:{0:"Auto exposure",1:"Manual exposure",2:"Auto bracket"},WhiteBalance:{0:"Auto white balance",1:"Manual white balance"},SceneCaptureType:{0:"Standard",1:"Landscape",2:"Portrait",3:"Night scene"},Contrast:{0:"Normal",1:"Soft",2:"Hard"},Saturation:{0:"Normal",1:"Low saturation",2:"High saturation"},Sharpness:{0:"Normal",1:"Soft",2:"Hard"},GPSLatitudeRef:{N:"North latitude",S:"South latitude"},GPSLongitudeRef:{E:"East longitude",W:"West longitude"}},{init:function(e){return c={tiffHeader:10},e!==t&&e.length?(a.init(e),65505===a.SHORT(0)&&"EXIF\x00"===a.STRING(4,5).toUpperCase()?r():!1):!1
15
+ },TIFF:function(){return u},EXIF:function(){var t;if(t=i(c.exifIFD,s.exif),t.ExifVersion&&"array"===e.typeOf(t.ExifVersion)){for(var n=0,r="";n<t.ExifVersion.length;n++)r+=String.fromCharCode(t.ExifVersion[n]);t.ExifVersion=r}return t},GPS:function(){var t;return t=i(c.gpsIFD,s.gps),t.GPSVersionID&&"array"===e.typeOf(t.GPSVersionID)&&(t.GPSVersionID=t.GPSVersionID.join(".")),t},setExif:function(e,t){return"PixelXDimension"!==e&&"PixelYDimension"!==e?!1:o("exif",e,t)},getBinary:function(){return a.SEGMENT()},purge:function(){a.init(null),a=u=null,c={}}}}}),i(B,[u,h,k,P,U],function(e,t,n,i,r){function o(o){function a(){for(var e=0,t,n;e<=u.length;){if(t=c.SHORT(e+=2),t>=65472&&65475>=t)return e+=5,{height:c.SHORT(e),width:c.SHORT(e+=2)};n=c.SHORT(e+=2),e+=n-2}return null}function s(){d&&l&&c&&(d.purge(),l.purge(),c.init(null),u=f=l=d=c=null)}var u,c,l,d,f,h;if(u=o,c=new i,c.init(u),65496!==c.SHORT(0))throw new t.ImageError(t.ImageError.WRONG_FORMAT);l=new n(o),d=new r,h=!!d.init(l.get("app1")[0]),f=a.call(this),e.extend(this,{type:"image/jpeg",size:u.length,width:f&&f.width||0,height:f&&f.height||0,setExif:function(t,n){return h?("object"===e.typeOf(t)?e.each(t,function(e,t){d.setExif(t,e)}):d.setExif(t,n),void l.set("app1",d.getBinary())):!1},writeHeaders:function(){return arguments.length?l.restore(arguments[0]):u=l.restore(u)},stripHeaders:function(e){return l.strip(e)},purge:function(){s.call(this)}}),h&&(this.meta={tiff:d.TIFF(),exif:d.EXIF(),gps:d.GPS()})}return o}),i(z,[h,u,P],function(e,t,n){function i(i){function r(){var e,t;return e=a.call(this,8),"IHDR"==e.type?(t=e.start,{width:u.LONG(t),height:u.LONG(t+=4)}):null}function o(){u&&(u.init(null),s=d=c=l=u=null)}function a(e){var t,n,i,r;return t=u.LONG(e),n=u.STRING(e+=4,4),i=e+=4,r=u.LONG(e+t),{length:t,type:n,start:i,CRC:r}}var s,u,c,l,d;s=i,u=new n,u.init(s),function(){var t=0,n=0,i=[35152,20039,3338,6666];for(n=0;n<i.length;n++,t+=2)if(i[n]!=u.SHORT(t))throw new e.ImageError(e.ImageError.WRONG_FORMAT)}(),d=r.call(this),t.extend(this,{type:"image/png",size:s.length,width:d.width,height:d.height,purge:function(){o.call(this)}}),o.call(this)}return i}),i(G,[u,h,B,z],function(e,t,n,i){return function(r){var o=[n,i],a;a=function(){for(var e=0;e<o.length;e++)try{return new o[e](r)}catch(n){}throw new t.ImageError(t.ImageError.WRONG_FORMAT)}(),e.extend(this,{type:"",size:0,width:0,height:0,setExif:function(){},writeHeaders:function(e){return e},stripHeaders:function(e){return e},purge:function(){}}),e.extend(this,a),this.purge=function(){a.purge(),a=null}}}),i(q,[],function(){function e(e,i,r){var o=e.naturalWidth,a=e.naturalHeight,s=r.width,u=r.height,c=r.x||0,l=r.y||0,d=i.getContext("2d");t(e)&&(o/=2,a/=2);var f=1024,h=document.createElement("canvas");h.width=h.height=f;for(var p=h.getContext("2d"),m=n(e,o,a),g=0;a>g;){for(var v=g+f>a?a-g:f,y=0;o>y;){var w=y+f>o?o-y:f;p.clearRect(0,0,f,f),p.drawImage(e,-y,-g);var E=y*s/o+c<<0,_=Math.ceil(w*s/o),x=g*u/a/m+l<<0,b=Math.ceil(v*u/a/m);d.drawImage(h,0,0,w,v,E,x,_,b),y+=f}g+=f}h=p=null}function t(e){var t=e.naturalWidth,n=e.naturalHeight;if(t*n>1048576){var i=document.createElement("canvas");i.width=i.height=1;var r=i.getContext("2d");return r.drawImage(e,-t+1,0),0===r.getImageData(0,0,1,1).data[3]}return!1}function n(e,t,n){var i=document.createElement("canvas");i.width=1,i.height=n;var r=i.getContext("2d");r.drawImage(e,0,0);for(var o=r.getImageData(0,0,1,n).data,a=0,s=n,u=n;u>a;){var c=o[4*(u-1)+3];0===c?s=u:a=u,u=s+a>>1}i=null;var l=u/n;return 0===l?1:l}return{isSubsampled:t,renderTo:e}}),i(X,[D,u,h,m,w,G,q,l,d],function(e,t,n,i,r,o,a,s,u){function c(){function e(){if(!E&&!y)throw new n.ImageError(n.DOMException.INVALID_STATE_ERR);return E||y}function c(e){return i.atob(e.substring(e.indexOf("base64,")+7))}function l(e,t){return"data:"+(t||"")+";base64,"+i.btoa(e)}function d(e){var t=this;y=new Image,y.onerror=function(){g.call(this),t.trigger("error",n.ImageError.WRONG_FORMAT)},y.onload=function(){t.trigger("load")},y.src=/^data:[^;]*;base64,/.test(e)?e:l(e,x.type)}function f(e,t){var i=this,r;return window.FileReader?(r=new FileReader,r.onload=function(){t(this.result)},r.onerror=function(){i.trigger("error",n.ImageError.WRONG_FORMAT)},r.readAsDataURL(e),void 0):t(e.getAsDataURL())}function h(n,i,r,o){var a=this,s,u,c=0,l=0,d,f,h,g;if(R=o,g=this.meta&&this.meta.tiff&&this.meta.tiff.Orientation||1,-1!==t.inArray(g,[5,6,7,8])){var v=n;n=i,i=v}return d=e(),r?(n=Math.min(n,d.width),i=Math.min(i,d.height),s=Math.max(n/d.width,i/d.height)):s=Math.min(n/d.width,i/d.height),s>1&&!r&&o?void this.trigger("Resize"):(E||(E=document.createElement("canvas")),f=Math.round(d.width*s),h=Math.round(d.height*s),r?(E.width=n,E.height=i,f>n&&(c=Math.round((f-n)/2)),h>i&&(l=Math.round((h-i)/2))):(E.width=f,E.height=h),R||m(E.width,E.height,g),p.call(this,d,E,-c,-l,f,h),this.width=E.width,this.height=E.height,b=!0,void a.trigger("Resize"))}function p(e,t,n,i,r,o){if("iOS"===u.OS)a.renderTo(e,t,{width:r,height:o,x:n,y:i});else{var s=t.getContext("2d");s.drawImage(e,n,i,r,o)}}function m(e,t,n){switch(n){case 5:case 6:case 7:case 8:E.width=t,E.height=e;break;default:E.width=e,E.height=t}var i=E.getContext("2d");switch(n){case 2:i.translate(e,0),i.scale(-1,1);break;case 3:i.translate(e,t),i.rotate(Math.PI);break;case 4:i.translate(0,t),i.scale(1,-1);break;case 5:i.rotate(.5*Math.PI),i.scale(1,-1);break;case 6:i.rotate(.5*Math.PI),i.translate(0,-t);break;case 7:i.rotate(.5*Math.PI),i.translate(e,-t),i.scale(-1,1);break;case 8:i.rotate(-.5*Math.PI),i.translate(-e,0)}}function g(){w&&(w.purge(),w=null),_=y=E=x=null,b=!1}var v=this,y,w,E,_,x,b=!1,R=!0;t.extend(this,{loadFromBlob:function(e){var t=this,i=t.getRuntime(),r=arguments.length>1?arguments[1]:!0;if(!i.can("access_binary"))throw new n.RuntimeError(n.RuntimeError.NOT_SUPPORTED_ERR);return x=e,e.isDetached()?(_=e.getSource(),void d.call(this,_)):void f.call(this,e.getSource(),function(e){r&&(_=c(e)),d.call(t,e)})},loadFromImage:function(e,t){this.meta=e.meta,x=new r(null,{name:e.name,size:e.size,type:e.type}),d.call(this,t?_=e.getAsBinaryString():e.getAsDataURL())},getInfo:function(){var t=this.getRuntime(),n;return!w&&_&&t.can("access_image_binary")&&(w=new o(_)),n={width:e().width||0,height:e().height||0,type:x.type||s.getFileMime(x.name),size:_&&_.length||x.size||0,name:x.name||"",meta:w&&w.meta||this.meta||{}}},downsize:function(){h.apply(this,arguments)},getAsCanvas:function(){return E&&(E.id=this.uid+"_canvas"),E},getAsBlob:function(e,t){return e!==this.type&&h.call(this,this.width,this.height,!1),new r(null,{name:x.name||"",type:e,data:v.getAsBinaryString.call(this,e,t)})},getAsDataURL:function(e){var t=arguments[1]||90;if(!b)return y.src;if("image/jpeg"!==e)return E.toDataURL("image/png");try{return E.toDataURL("image/jpeg",t/100)}catch(n){return E.toDataURL("image/jpeg")}},getAsBinaryString:function(e,t){if(!b)return _||(_=c(v.getAsDataURL(e,t))),_;if("image/jpeg"!==e)_=c(v.getAsDataURL(e,t));else{var n;t||(t=90);try{n=E.toDataURL("image/jpeg",t/100)}catch(i){n=E.toDataURL("image/jpeg")}_=c(n),w&&(_=w.stripHeaders(_),R&&(w.meta&&w.meta.exif&&w.setExif({PixelXDimension:this.width,PixelYDimension:this.height}),_=w.writeHeaders(_)),w.purge(),w=null)}return b=!1,_},destroy:function(){v=null,g.call(this),this.getRuntime().getShim().removeInstance(this.uid)}})}return e.Image=c}),i(j,[u,d,f,h,g],function(e,t,n,i,r){function o(){var e;try{e=navigator.plugins["Shockwave Flash"],e=e.description}catch(t){try{e=new ActiveXObject("ShockwaveFlash.ShockwaveFlash").GetVariable("$version")}catch(n){e="0.0"}}return e=e.match(/\d+/g),parseFloat(e[0]+"."+e[1])}function a(a){var c=this,l;a=e.extend({swf_url:t.swf_url},a),r.call(this,a,s,{access_binary:function(e){return e&&"browser"===c.mode},access_image_binary:function(e){return e&&"browser"===c.mode},display_media:r.capTrue,do_cors:r.capTrue,drag_and_drop:!1,report_upload_progress:function(){return"client"===c.mode},resize_image:r.capTrue,return_response_headers:!1,return_response_type:function(t){return"json"===t&&window.JSON?!0:!e.arrayDiff(t,["","text","document"])||"browser"===c.mode},return_status_code:function(t){return"browser"===c.mode||!e.arrayDiff(t,[200,404])},select_file:r.capTrue,select_multiple:r.capTrue,send_binary_string:function(e){return e&&"browser"===c.mode},send_browser_cookies:function(e){return e&&"browser"===c.mode},send_custom_headers:function(e){return e&&"browser"===c.mode},send_multipart:r.capTrue,slice_blob:function(e){return e&&"browser"===c.mode},stream_upload:function(e){return e&&"browser"===c.mode},summon_file_dialog:!1,upload_filesize:function(t){return e.parseSizeStr(t)<=2097152||"client"===c.mode},use_http_method:function(t){return!e.arrayDiff(t,["GET","POST"])}},{access_binary:function(e){return e?"browser":"client"},access_image_binary:function(e){return e?"browser":"client"},report_upload_progress:function(e){return e?"browser":"client"},return_response_type:function(t){return e.arrayDiff(t,["","text","json","document"])?"browser":["client","browser"]},return_status_code:function(t){return e.arrayDiff(t,[200,404])?"browser":["client","browser"]},send_binary_string:function(e){return e?"browser":"client"},send_browser_cookies:function(e){return e?"browser":"client"},send_custom_headers:function(e){return e?"browser":"client"},stream_upload:function(e){return e?"client":"browser"},upload_filesize:function(t){return e.parseSizeStr(t)>=2097152?"client":"browser"}},"client"),o()<10&&(this.mode=!1),e.extend(this,{getShim:function(){return n.get(this.uid)},shimExec:function(e,t){var n=[].slice.call(arguments,2);return c.getShim().exec(this.uid,e,t,n)},init:function(){var n,r,o;o=this.getShimContainer(),e.extend(o.style,{position:"absolute",top:"-8px",left:"-8px",width:"9px",height:"9px",overflow:"hidden"}),n='<object id="'+this.uid+'" type="application/x-shockwave-flash" data="'+a.swf_url+'" ',"IE"===t.browser&&(n+='classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" '),n+='width="100%" height="100%" style="outline:0"><param name="movie" value="'+a.swf_url+'" /><param name="flashvars" value="uid='+escape(this.uid)+"&target="+t.global_event_dispatcher+'" /><param name="wmode" value="transparent" /><param name="allowscriptaccess" value="always" /></object>',"IE"===t.browser?(r=document.createElement("div"),o.appendChild(r),r.outerHTML=n,r=o=null):o.innerHTML=n,l=setTimeout(function(){c&&!c.initialized&&c.trigger("Error",new i.RuntimeError(i.RuntimeError.NOT_INIT_ERR))},5e3)},destroy:function(e){return function(){e.call(c),clearTimeout(l),a=l=e=c=null}}(this.destroy)},u)}var s="flash",u={};return r.addConstructor(s,a),u}),i(V,[j,y],function(e,t){var n={slice:function(e,n,i,r){var o=this.getRuntime();return 0>n?n=Math.max(e.size+n,0):n>0&&(n=Math.min(n,e.size)),0>i?i=Math.max(e.size+i,0):i>0&&(i=Math.min(i,e.size)),e=o.shimExec.call(this,"Blob","slice",n,i,r||""),e&&(e=new t(o.uid,e)),e}};return e.Blob=n}),i(W,[j],function(e){var t={init:function(e){this.getRuntime().shimExec.call(this,"FileInput","init",{name:e.name,accept:e.accept,multiple:e.multiple}),this.trigger("ready")}};return e.FileInput=t}),i(Y,[j,m],function(e,t){function n(e,n){switch(n){case"readAsText":return t.atob(e,"utf8");case"readAsBinaryString":return t.atob(e);case"readAsDataURL":return e}return null}var i="",r={read:function(e,t){var r=this,o=r.getRuntime();return"readAsDataURL"===e&&(i="data:"+(t.type||"")+";base64,"),r.bind("Progress",function(t,r){r&&(i+=n(r,e))}),o.shimExec.call(this,"FileReader","readAsBase64",t.uid)},getResult:function(){return i},destroy:function(){i=null}};return e.FileReader=r}),i($,[j,m],function(e,t){function n(e,n){switch(n){case"readAsText":return t.atob(e,"utf8");case"readAsBinaryString":return t.atob(e);case"readAsDataURL":return e}return null}var i={read:function(e,t){var i,r=this.getRuntime();return(i=r.shimExec.call(this,"FileReaderSync","readAsBase64",t.uid))?("readAsDataURL"===e&&(i="data:"+(t.type||"")+";base64,"+i),n(i,e,t.type)):null}};return e.FileReaderSync=i}),i(J,[j,u,y,w,T,A,O],function(e,t,n,i,r,o,a){var s={send:function(e,i){function r(){e.transport=l.mode,l.shimExec.call(c,"XMLHttpRequest","send",e,i)}function s(e,t){l.shimExec.call(c,"XMLHttpRequest","appendBlob",e,t.uid),i=null,r()}function u(e,t){var n=new a;n.bind("TransportingComplete",function(){t(this.result)}),n.transport(e.getSource(),e.type,{ruid:l.uid})}var c=this,l=c.getRuntime();if(t.isEmptyObj(e.headers)||t.each(e.headers,function(e,t){l.shimExec.call(c,"XMLHttpRequest","setRequestHeader",t,e.toString())}),i instanceof o){var d;if(i.each(function(e,t){e instanceof n?d=t:l.shimExec.call(c,"XMLHttpRequest","append",t,e)}),i.hasBlob()){var f=i.getBlob();f.isDetached()?u(f,function(e){f.destroy(),s(d,e)}):s(d,f)}else i=null,r()}else i instanceof n?i.isDetached()?u(i,function(e){i.destroy(),i=e.uid,r()}):(i=i.uid,r()):r()},getResponse:function(e){var n,o,a=this.getRuntime();if(o=a.shimExec.call(this,"XMLHttpRequest","getResponseAsBlob")){if(o=new i(a.uid,o),"blob"===e)return o;try{if(n=new r,~t.inArray(e,["","text"]))return n.readAsText(o);if("json"===e&&window.JSON)return JSON.parse(n.readAsText(o))}finally{o.destroy()}}return null},abort:function(e){var t=this.getRuntime();t.shimExec.call(this,"XMLHttpRequest","abort"),this.dispatchEvent("readystatechange"),this.dispatchEvent("abort")}};return e.XMLHttpRequest=s}),i(Z,[j,y],function(e,t){var n={getAsBlob:function(e){var n=this.getRuntime(),i=n.shimExec.call(this,"Transporter","getAsBlob",e);return i?new t(n.uid,i):null}};return e.Transporter=n}),i(K,[j,u,O,y,T],function(e,t,n,i,r){var o={loadFromBlob:function(e){function t(e){r.shimExec.call(i,"Image","loadFromBlob",e.uid),i=r=null}var i=this,r=i.getRuntime();if(e.isDetached()){var o=new n;o.bind("TransportingComplete",function(){t(o.result.getSource())}),o.transport(e.getSource(),e.type,{ruid:r.uid})}else t(e.getSource())},loadFromImage:function(e){var t=this.getRuntime();return t.shimExec.call(this,"Image","loadFromImage",e.uid)},getAsBlob:function(e,t){var n=this.getRuntime(),r=n.shimExec.call(this,"Image","getAsBlob",e,t);return r?new i(n.uid,r):null},getAsDataURL:function(){var e=this.getRuntime(),t=e.Image.getAsBlob.apply(this,arguments),n;return t?(n=new r,n.readAsDataURL(t)):null}};return e.Image=o}),i(Q,[u,d,f,h,g],function(e,t,n,i,r){function o(e){var t=!1,n=null,i,r,o,a,s,u=0;try{try{n=new ActiveXObject("AgControl.AgControl"),n.IsVersionSupported(e)&&(t=!0),n=null}catch(c){var l=navigator.plugins["Silverlight Plug-In"];if(l){for(i=l.description,"1.0.30226.2"===i&&(i="2.0.30226.2"),r=i.split(".");r.length>3;)r.pop();for(;r.length<4;)r.push(0);for(o=e.split(".");o.length>4;)o.pop();do a=parseInt(o[u],10),s=parseInt(r[u],10),u++;while(u<o.length&&a===s);s>=a&&!isNaN(a)&&(t=!0)}}}catch(d){t=!1}return t}function a(a){var c=this,l;a=e.extend({xap_url:t.xap_url},a),r.call(this,a,s,{access_binary:r.capTrue,access_image_binary:r.capTrue,display_media:r.capTrue,do_cors:r.capTrue,drag_and_drop:!1,report_upload_progress:r.capTrue,resize_image:r.capTrue,return_response_headers:function(e){return e&&"client"===c.mode},return_response_type:function(e){return"json"!==e?!0:!!window.JSON},return_status_code:function(t){return"client"===c.mode||!e.arrayDiff(t,[200,404])},select_file:r.capTrue,select_multiple:r.capTrue,send_binary_string:r.capTrue,send_browser_cookies:function(e){return e&&"browser"===c.mode},send_custom_headers:function(e){return e&&"client"===c.mode},send_multipart:r.capTrue,slice_blob:r.capTrue,stream_upload:!0,summon_file_dialog:!1,upload_filesize:r.capTrue,use_http_method:function(t){return"client"===c.mode||!e.arrayDiff(t,["GET","POST"])}},{return_response_headers:function(e){return e?"client":"browser"},return_status_code:function(t){return e.arrayDiff(t,[200,404])?"client":["client","browser"]},send_browser_cookies:function(e){return e?"browser":"client"},send_custom_headers:function(e){return e?"client":"browser"},use_http_method:function(t){return e.arrayDiff(t,["GET","POST"])?"client":["client","browser"]}}),o("2.0.31005.0")&&"Opera"!==t.browser||(this.mode=!1),e.extend(this,{getShim:function(){return n.get(this.uid).content.Moxie},shimExec:function(e,t){var n=[].slice.call(arguments,2);return c.getShim().exec(this.uid,e,t,n)},init:function(){var e;e=this.getShimContainer(),e.innerHTML='<object id="'+this.uid+'" data="data:application/x-silverlight," type="application/x-silverlight-2" width="100%" height="100%" style="outline:none;"><param name="source" value="'+a.xap_url+'"/><param name="background" value="Transparent"/><param name="windowless" value="true"/><param name="enablehtmlaccess" value="true"/><param name="initParams" value="uid='+this.uid+",target="+t.global_event_dispatcher+'"/></object>',l=setTimeout(function(){c&&!c.initialized&&c.trigger("Error",new i.RuntimeError(i.RuntimeError.NOT_INIT_ERR))},"Windows"!==t.OS?1e4:5e3)},destroy:function(e){return function(){e.call(c),clearTimeout(l),a=l=e=c=null}}(this.destroy)},u)}var s="silverlight",u={};return r.addConstructor(s,a),u}),i(et,[Q,u,V],function(e,t,n){return e.Blob=t.extend({},n)}),i(tt,[Q],function(e){var t={init:function(e){function t(e){for(var t="",n=0;n<e.length;n++)t+=(""!==t?"|":"")+e[n].title+" | *."+e[n].extensions.replace(/,/g,";*.");return t}this.getRuntime().shimExec.call(this,"FileInput","init",t(e.accept),e.name,e.multiple),this.trigger("ready")}};return e.FileInput=t}),i(nt,[Q,f,L],function(e,t,n){var i={init:function(){var e=this,i=e.getRuntime(),r;return r=i.getShimContainer(),n.addEvent(r,"dragover",function(e){e.preventDefault(),e.stopPropagation(),e.dataTransfer.dropEffect="copy"},e.uid),n.addEvent(r,"dragenter",function(e){e.preventDefault();var n=t.get(i.uid).dragEnter(e);n&&e.stopPropagation()},e.uid),n.addEvent(r,"drop",function(e){e.preventDefault();var n=t.get(i.uid).dragDrop(e);n&&e.stopPropagation()},e.uid),i.shimExec.call(this,"FileDrop","init")}};return e.FileDrop=i}),i(it,[Q,u,Y],function(e,t,n){return e.FileReader=t.extend({},n)}),i(rt,[Q,u,$],function(e,t,n){return e.FileReaderSync=t.extend({},n)}),i(ot,[Q,u,J],function(e,t,n){return e.XMLHttpRequest=t.extend({},n)}),i(at,[Q,u,Z],function(e,t,n){return e.Transporter=t.extend({},n)}),i(st,[Q,u,K],function(e,t,n){return e.Image=t.extend({},n,{getInfo:function(){var e=this.getRuntime(),n=["tiff","exif","gps"],i={meta:{}},r=e.shimExec.call(this,"Image","getInfo");return r.meta&&t.each(n,function(e){var t=r.meta[e],n,o,a,s;if(t&&t.keys)for(i.meta[e]={},o=0,a=t.keys.length;a>o;o++)n=t.keys[o],s=t[n],s&&(/^(\d|[1-9]\d+)$/.test(s)?s=parseInt(s,10):/^\d*\.\d+$/.test(s)&&(s=parseFloat(s)),i.meta[e][n]=s)}),i.width=parseInt(r.width,10),i.height=parseInt(r.height,10),i.size=parseInt(r.size,10),i.type=r.type,i.name=r.name,i}})}),i(ut,[u,h,g,d],function(e,t,n,i){function r(t){var r=this,s=n.capTest,u=n.capTrue;n.call(this,t,o,{access_binary:s(window.FileReader||window.File&&File.getAsDataURL),access_image_binary:!1,display_media:s(a.Image&&(i.can("create_canvas")||i.can("use_data_uri_over32kb"))),do_cors:!1,drag_and_drop:!1,filter_by_extension:s(function(){return"Chrome"===i.browser&&i.version>=28||"IE"===i.browser&&i.version>=10}()),resize_image:function(){return a.Image&&r.can("access_binary")&&i.can("create_canvas")},report_upload_progress:!1,return_response_headers:!1,return_response_type:function(t){return"json"===t&&window.JSON?!0:!!~e.inArray(t,["text","document",""])},return_status_code:function(t){return!e.arrayDiff(t,[200,404])},select_file:function(){return i.can("use_fileinput")},select_multiple:!1,send_binary_string:!1,send_custom_headers:!1,send_multipart:!0,slice_blob:!1,stream_upload:function(){return r.can("select_file")},summon_file_dialog:s(function(){return"Firefox"===i.browser&&i.version>=4||"Opera"===i.browser&&i.version>=12||!!~e.inArray(i.browser,["Chrome","Safari"])}()),upload_filesize:u,use_http_method:function(t){return!e.arrayDiff(t,["GET","POST"])}}),e.extend(this,{init:function(){this.trigger("Init")},destroy:function(e){return function(){e.call(r),e=r=null}}(this.destroy)}),e.extend(this.getShim(),a)}var o="html4",a={};return n.addConstructor(o,r),a}),i(ct,[ut,u,f,L,l,d],function(e,t,n,i,r,o){function a(){function e(){var r=this,l=r.getRuntime(),d,f,h,p,m,g;g=t.guid("uid_"),d=l.getShimContainer(),a&&(h=n.get(a+"_form"),h&&t.extend(h.style,{top:"100%"})),p=document.createElement("form"),p.setAttribute("id",g+"_form"),p.setAttribute("method","post"),p.setAttribute("enctype","multipart/form-data"),p.setAttribute("encoding","multipart/form-data"),t.extend(p.style,{overflow:"hidden",position:"absolute",top:0,left:0,width:"100%",height:"100%"}),m=document.createElement("input"),m.setAttribute("id",g),m.setAttribute("type","file"),m.setAttribute("name",c.name||"Filedata"),m.setAttribute("accept",u.join(",")),t.extend(m.style,{fontSize:"999px",opacity:0}),p.appendChild(m),d.appendChild(p),t.extend(m.style,{position:"absolute",top:0,left:0,width:"100%",height:"100%"}),"IE"===o.browser&&o.version<10&&t.extend(m.style,{filter:"progid:DXImageTransform.Microsoft.Alpha(opacity=0)"}),m.onchange=function(){var t;this.value&&(t=this.files?this.files[0]:{name:this.value},s=[t],this.onchange=function(){},e.call(r),r.bind("change",function i(){var e=n.get(g),t=n.get(g+"_form"),o;r.unbind("change",i),r.files.length&&e&&t&&(o=r.files[0],e.setAttribute("id",o.uid),t.setAttribute("id",o.uid+"_form"),t.setAttribute("target",o.uid+"_iframe")),e=t=null},998),m=p=null,r.trigger("change"))},l.can("summon_file_dialog")&&(f=n.get(c.browse_button),i.removeEvent(f,"click",r.uid),i.addEvent(f,"click",function(e){m&&!m.disabled&&m.click(),e.preventDefault()},r.uid)),a=g,d=h=f=null}var a,s=[],u=[],c;t.extend(this,{init:function(t){var o=this,a=o.getRuntime(),s;c=t,u=t.accept.mimes||r.extList2mimes(t.accept,a.can("filter_by_extension")),s=a.getShimContainer(),function(){var e,r,u;e=n.get(t.browse_button),a.can("summon_file_dialog")&&("static"===n.getStyle(e,"position")&&(e.style.position="relative"),r=parseInt(n.getStyle(e,"z-index"),10)||1,e.style.zIndex=r,s.style.zIndex=r-1),u=a.can("summon_file_dialog")?e:s,i.addEvent(u,"mouseover",function(){o.trigger("mouseenter")},o.uid),i.addEvent(u,"mouseout",function(){o.trigger("mouseleave")},o.uid),i.addEvent(u,"mousedown",function(){o.trigger("mousedown")},o.uid),i.addEvent(n.get(t.container),"mouseup",function(){o.trigger("mouseup")},o.uid),e=null}(),e.call(this),s=null,o.trigger({type:"ready",async:!0})},getFiles:function(){return s},disable:function(e){var t;(t=n.get(a))&&(t.disabled=!!e)},destroy:function(){var e=this.getRuntime(),t=e.getShim(),r=e.getShimContainer();i.removeAllEvents(r,this.uid),i.removeAllEvents(c&&n.get(c.container),this.uid),i.removeAllEvents(c&&n.get(c.browse_button),this.uid),r&&(r.innerHTML=""),t.removeInstance(this.uid),a=s=u=c=r=t=null}})}return e.FileInput=a}),i(lt,[ut,F],function(e,t){return e.FileReader=t}),i(dt,[ut,u,f,R,h,L,y,A],function(e,t,n,i,r,o,a,s){function u(){function e(e){var t=this,i,r,a,s,u=!1;if(l){if(i=l.id.replace(/_iframe$/,""),r=n.get(i+"_form")){for(a=r.getElementsByTagName("input"),s=a.length;s--;)switch(a[s].getAttribute("type")){case"hidden":a[s].parentNode.removeChild(a[s]);break;case"file":u=!0}a=[],u||r.parentNode.removeChild(r),r=null}setTimeout(function(){o.removeEvent(l,"load",t.uid),l.parentNode&&l.parentNode.removeChild(l);var n=t.getRuntime().getShimContainer();n.children.length||n.parentNode.removeChild(n),n=l=null,e()},1)}}var u,c,l;t.extend(this,{send:function(d,f){function h(){var n=m.getShimContainer()||document.body,r=document.createElement("div");r.innerHTML='<iframe id="'+g+'_iframe" name="'+g+'_iframe" src="javascript:&quot;&quot;" style="display:none"></iframe>',l=r.firstChild,n.appendChild(l),o.addEvent(l,"load",function(){var n;try{n=l.contentWindow.document||l.contentDocument||window.frames[l.id].document,/^4(0[0-9]|1[0-7]|2[2346])\s/.test(n.title)?u=n.title.replace(/^(\d+).*$/,"$1"):(u=200,c=t.trim(n.body.innerHTML),p.trigger({type:"progress",loaded:c.length,total:c.length}),w&&p.trigger({type:"uploadprogress",loaded:w.size||1025,total:w.size||1025}))}catch(r){if(!i.hasSameOrigin(d.url))return void e.call(p,function(){p.trigger("error")});u=404}e.call(p,function(){p.trigger("load")})},p.uid)}var p=this,m=p.getRuntime(),g,v,y,w;if(u=c=null,f instanceof s&&f.hasBlob()){if(w=f.getBlob(),g=w.uid,y=n.get(g),v=n.get(g+"_form"),!v)throw new r.DOMException(r.DOMException.NOT_FOUND_ERR)}else g=t.guid("uid_"),v=document.createElement("form"),v.setAttribute("id",g+"_form"),v.setAttribute("method",d.method),v.setAttribute("enctype","multipart/form-data"),v.setAttribute("encoding","multipart/form-data"),v.setAttribute("target",g+"_iframe"),m.getShimContainer().appendChild(v);f instanceof s&&f.each(function(e,n){if(e instanceof a)y&&y.setAttribute("name",n);else{var i=document.createElement("input");t.extend(i,{type:"hidden",name:n,value:e}),y?v.insertBefore(i,y):v.appendChild(i)}}),v.setAttribute("action",d.url),h(),v.submit(),p.trigger("loadstart")},getStatus:function(){return u},getResponse:function(e){if("json"===e&&"string"===t.typeOf(c)&&window.JSON)try{return JSON.parse(c.replace(/^\s*<pre[^>]*>/,"").replace(/<\/pre>\s*$/,""))}catch(n){return null}return c},abort:function(){var t=this;l&&l.contentWindow&&(l.contentWindow.stop?l.contentWindow.stop():l.contentWindow.document.execCommand?l.contentWindow.document.execCommand("Stop"):l.src="about:blank"),e.call(this,function(){t.dispatchEvent("abort")})}})}return e.XMLHttpRequest=u}),i(ft,[ut,X],function(e,t){return e.Image=t}),a([u,c,l,d,f,h,p,m,g,v,y,w,E,_,x,b,R,T,A,S,O,I,L])}(this);;(function(e){"use strict";var t={},n=e.moxie.core.utils.Basic.inArray;return function r(e){var i,s;for(i in e)s=typeof e[i],s==="object"&&!~n(i,["Exceptions","Env","Mime"])?r(e[i]):s==="function"&&(t[i]=e[i])}(e.moxie),t.Env=e.moxie.core.utils.Env,t.Mime=e.moxie.core.utils.Mime,t.Exceptions=e.moxie.core.Exceptions,e.mOxie=t,e.o||(e.o=t),t})(this);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
16
  /**
17
  * Plupload - multi-runtime File Uploader
18
+ * v2.1.2
19
  *
20
  * Copyright 2013, Moxiecode Systems AB
21
  * Released under GPL License.
23
  * License: http://www.plupload.com/license
24
  * Contributing: http://www.plupload.com/contributing
25
  *
26
+ * Date: 2014-05-14
27
  */
28
+ ;(function(e,t,n){function s(e){function r(e,t,r){var i={chunks:"slice_blob",jpgresize:"send_binary_string",pngresize:"send_binary_string",progress:"report_upload_progress",multi_selection:"select_multiple",dragdrop:"drag_and_drop",drop_element:"drag_and_drop",headers:"send_custom_headers",urlstream_upload:"send_binary_string",canSendBinary:"send_binary",triggerDialog:"summon_file_dialog"};i[e]?n[i[e]]=t:r||(n[e]=t)}var t=e.required_features,n={};if(typeof t=="string")o.each(t.split(/\s*,\s*/),function(e){r(e,!0)});else if(typeof t=="object")o.each(t,function(e,t){r(t,e)});else if(t===!0){e.chunk_size>0&&(n.slice_blob=!0);if(e.resize.enabled||!e.multipart)n.send_binary_string=!0;o.each(e,function(e,t){r(t,!!e,!0)})}return n}var r=e.setTimeout,i={},o={VERSION:"2.1.2",STOPPED:1,STARTED:2,QUEUED:1,UPLOADING:2,FAILED:4,DONE:5,GENERIC_ERROR:-100,HTTP_ERROR:-200,IO_ERROR:-300,SECURITY_ERROR:-400,INIT_ERROR:-500,FILE_SIZE_ERROR:-600,FILE_EXTENSION_ERROR:-601,FILE_DUPLICATE_ERROR:-602,IMAGE_FORMAT_ERROR:-700,MEMORY_ERROR:-701,IMAGE_DIMENSIONS_ERROR:-702,mimeTypes:t.mimes,ua:t.ua,typeOf:t.typeOf,extend:t.extend,guid:t.guid,get:function(n){var r=[],i;t.typeOf(n)!=="array"&&(n=[n]);var s=n.length;while(s--)i=t.get(n[s]),i&&r.push(i);return r.length?r:null},each:t.each,getPos:t.getPos,getSize:t.getSize,xmlEncode:function(e){var t={"<":"lt",">":"gt","&":"amp",'"':"quot","'":"#39"},n=/[<>&\"\']/g;return e?(""+e).replace(n,function(e){return t[e]?"&"+t[e]+";":e}):e},toArray:t.toArray,inArray:t.inArray,addI18n:t.addI18n,translate:t.translate,isEmptyObj:t.isEmptyObj,hasClass:t.hasClass,addClass:t.addClass,removeClass:t.removeClass,getStyle:t.getStyle,addEvent:t.addEvent,removeEvent:t.removeEvent,removeAllEvents:t.removeAllEvents,cleanName:function(e){var t,n;n=[/[\300-\306]/g,"A",/[\340-\346]/g,"a",/\307/g,"C",/\347/g,"c",/[\310-\313]/g,"E",/[\350-\353]/g,"e",/[\314-\317]/g,"I",/[\354-\357]/g,"i",/\321/g,"N",/\361/g,"n",/[\322-\330]/g,"O",/[\362-\370]/g,"o",/[\331-\334]/g,"U",/[\371-\374]/g,"u"];for(t=0;t<n.length;t+=2)e=e.replace(n[t],n[t+1]);return e=e.replace(/\s+/g,"_"),e=e.replace(/[^a-z0-9_\-\.]+/gi,""),e},buildUrl:function(e,t){var n="";return o.each(t,function(e,t){n+=(n?"&":"")+encodeURIComponent(t)+"="+encodeURIComponent(e)}),n&&(e+=(e.indexOf("?")>0?"&":"?")+n),e},formatSize:function(e){function t(e,t){return Math.round(e*Math.pow(10,t))/Math.pow(10,t)}if(e===n||/\D/.test(e))return o.translate("N/A");var r=Math.pow(1024,4);return e>r?t(e/r,1)+" "+o.translate("tb"):e>(r/=1024)?t(e/r,1)+" "+o.translate("gb"):e>(r/=1024)?t(e/r,1)+" "+o.translate("mb"):e>1024?Math.round(e/1024)+" "+o.translate("kb"):e+" "+o.translate("b")},parseSize:t.parseSizeStr,predictRuntime:function(e,n){var r,i;return r=new o.Uploader(e),i=t.Runtime.thatCan(r.getOption().required_features,n||e.runtimes),r.destroy(),i},addFileFilter:function(e,t){i[e]=t}};o.addFileFilter("mime_types",function(e,t,n){e.length&&!e.regexp.test(t.name)?(this.trigger("Error",{code:o.FILE_EXTENSION_ERROR,message:o.translate("File extension error."),file:t}),n(!1)):n(!0)}),o.addFileFilter("max_file_size",function(e,t,n){var r;e=o.parseSize(e),t.size!==r&&e&&t.size>e?(this.trigger("Error",{code:o.FILE_SIZE_ERROR,message:o.translate("File size error."),file:t}),n(!1)):n(!0)}),o.addFileFilter("prevent_duplicates",function(e,t,n){if(e){var r=this.files.length;while(r--)if(t.name===this.files[r].name&&t.size===this.files[r].size){this.trigger("Error",{code:o.FILE_DUPLICATE_ERROR,message:o.translate("Duplicate file error."),file:t}),n(!1);return}}n(!0)}),o.Uploader=function(e){function g(){var e,t=0,n;if(this.state==o.STARTED){for(n=0;n<f.length;n++)!e&&f[n].status==o.QUEUED?(e=f[n],this.trigger("BeforeUpload",e)&&(e.status=o.UPLOADING,this.trigger("UploadFile",e))):t++;t==f.length&&(this.state!==o.STOPPED&&(this.state=o.STOPPED,this.trigger("StateChanged")),this.trigger("UploadComplete",f))}}function y(e){e.percent=e.size>0?Math.ceil(e.loaded/e.size*100):100,b()}function b(){var e,t;d.reset();for(e=0;e<f.length;e++)t=f[e],t.size!==n?(d.size+=t.origSize,d.loaded+=t.loaded*t.origSize/t.size):d.size=n,t.status==o.DONE?d.uploaded++:t.status==o.FAILED?d.failed++:d.queued++;d.size===n?d.percent=f.length>0?Math.ceil(d.uploaded/f.length*100):0:(d.bytesPerSec=Math.ceil(d.loaded/((+(new Date)-p||1)/1e3)),d.percent=d.size>0?Math.ceil(d.loaded/d.size*100):0)}function w(){var e=c[0]||h[0];return e?e.getRuntime().uid:!1}function E(e,n){if(e.ruid){var r=t.Runtime.getInfo(e.ruid);if(r)return r.can(n)}return!1}function S(){this.bind("FilesAdded FilesRemoved",function(e){e.trigger("QueueChanged"),e.refresh()}),this.bind("CancelUpload",O),this.bind("BeforeUpload",C),this.bind("UploadFile",k),this.bind("UploadProgress",L),this.bind("StateChanged",A),this.bind("QueueChanged",b),this.bind("Error",_),this.bind("FileUploaded",M),this.bind("Destroy",D)}function x(e,n){var r=this,i=0,s=[],u={runtime_order:e.runtimes,required_caps:e.required_features,preferred_caps:l,swf_url:e.flash_swf_url,xap_url:e.silverlight_xap_url};o.each(e.runtimes.split(/\s*,\s*/),function(t){e[t]&&(u[t]=e[t])}),e.browse_button&&o.each(e.browse_button,function(n){s.push(function(s){var a=new t.FileInput(o.extend({},u,{accept:e.filters.mime_types,name:e.file_data_name,multiple:e.multi_selection,container:e.container,browse_button:n}));a.onready=function(){var e=t.Runtime.getInfo(this.ruid);t.extend(r.features,{chunks:e.can("slice_blob"),multipart:e.can("send_multipart"),multi_selection:e.can("select_multiple")}),i++,c.push(this),s()},a.onchange=function(){r.addFile(this.files)},a.bind("mouseenter mouseleave mousedown mouseup",function(r){v||(e.browse_button_hover&&("mouseenter"===r.type?t.addClass(n,e.browse_button_hover):"mouseleave"===r.type&&t.removeClass(n,e.browse_button_hover)),e.browse_button_active&&("mousedown"===r.type?t.addClass(n,e.browse_button_active):"mouseup"===r.type&&t.removeClass(n,e.browse_button_active)))}),a.bind("mousedown",function(){r.trigger("Browse")}),a.bind("error runtimeerror",function(){a=null,s()}),a.init()})}),e.drop_element&&o.each(e.drop_element,function(e){s.push(function(n){var s=new t.FileDrop(o.extend({},u,{drop_zone:e}));s.onready=function(){var e=t.Runtime.getInfo(this.ruid);r.features.dragdrop=e.can("drag_and_drop"),i++,h.push(this),n()},s.ondrop=function(){r.addFile(this.files)},s.bind("error runtimeerror",function(){s=null,n()}),s.init()})}),t.inSeries(s,function(){typeof n=="function"&&n(i)})}function T(e,r,i){var s=new t.Image;try{s.onload=function(){if(r.width>this.width&&r.height>this.height&&r.quality===n&&r.preserve_headers&&!r.crop)return this.destroy(),i(e);s.downsize(r.width,r.height,r.crop,r.preserve_headers)},s.onresize=function(){i(this.getAsBlob(e.type,r.quality)),this.destroy()},s.onerror=function(){i(e)},s.load(e)}catch(o){i(e)}}function N(e,n,r){function f(e,t,n){var r=a[e];switch(e){case"max_file_size":e==="max_file_size"&&(a.max_file_size=a.filters.max_file_size=t);break;case"chunk_size":if(t=o.parseSize(t))a[e]=t,a.send_file_name=!0;break;case"multipart":a[e]=t,t||(a.send_file_name=!0);break;case"unique_names":a[e]=t,t&&(a.send_file_name=!0);break;case"filters":o.typeOf(t)==="array"&&(t={mime_types:t}),n?o.extend(a.filters,t):a.filters=t,t.mime_types&&(a.filters.mime_types.regexp=function(e){var t=[];return o.each(e,function(e){o.each(e.extensions.split(/,/),function(e){/^\s*\*\s*$/.test(e)?t.push("\\.*"):t.push("\\."+e.replace(new RegExp("["+"/^$.*+?|()[]{}\\".replace(/./g,"\\$&")+"]","g"),"\\$&"))})}),new RegExp("("+t.join("|")+")$","i")}(a.filters.mime_types));break;case"resize":n?o.extend(a.resize,t,{enabled:!0}):a.resize=t;break;case"prevent_duplicates":a.prevent_duplicates=a.filters.prevent_duplicates=!!t;break;case"browse_button":case"drop_element":t=o.get(t);case"container":case"runtimes":case"multi_selection":case"flash_swf_url":case"silverlight_xap_url":a[e]=t,n||(u=!0);break;default:a[e]=t}n||i.trigger("OptionChanged",e,t,r)}var i=this,u=!1;typeof e=="object"?o.each(e,function(e,t){f(t,e,r)}):f(e,n,r),r?(a.required_features=s(o.extend({},a)),l=s(o.extend({},a,{required_features:!0}))):u&&(i.trigger("Destroy"),x.call(i,a,function(e){e?(i.runtime=t.Runtime.getInfo(w()).type,i.trigger("Init",{runtime:i.runtime}),i.trigger("PostInit")):i.trigger("Error",{code:o.INIT_ERROR,message:o.translate("Init error.")})}))}function C(e,t){if(e.settings.unique_names){var n=t.name.match(/\.([^.]+)$/),r="part";n&&(r=n[1]),t.target_name=t.id+"."+r}}function k(e,n){function h(){u-->0?r(p,1e3):(n.loaded=f,e.trigger("Error",{code:o.HTTP_ERROR,message:o.translate("HTTP Error."),file:n,response:m.responseText,status:m.status,responseHeaders:m.getAllResponseHeaders()}))}function p(){var d,v,g={},y;if(n.status!==o.UPLOADING||e.state===o.STOPPED)return;e.settings.send_file_name&&(g.name=n.target_name||n.name),s&&a.chunks&&c.size>s?(y=Math.min(s,c.size-f),d=c.slice(f,f+y)):(y=c.size,d=c),s&&a.chunks&&(e.settings.send_chunk_number?(g.chunk=Math.ceil(f/s),g.chunks=Math.ceil(c.size/s)):(g.offset=f,g.total=c.size)),m=new t.XMLHttpRequest,m.upload&&(m.upload.onprogress=function(t){n.loaded=Math.min(n.size,f+t.loaded),e.trigger("UploadProgress",n)}),m.onload=function(){if(m.status>=400){h();return}u=e.settings.max_retries,y<c.size?(d.destroy(),f+=y,n.loaded=Math.min(f,c.size),e.trigger("ChunkUploaded",n,{offset:n.loaded,total:c.size,response:m.responseText,status:m.status,responseHeaders:m.getAllResponseHeaders()}),t.Env.browser==="Android Browser"&&e.trigger("UploadProgress",n)):n.loaded=n.size,d=v=null,!f||f>=c.size?(n.size!=n.origSize&&(c.destroy(),c=null),e.trigger("UploadProgress",n),n.status=o.DONE,e.trigger("FileUploaded",n,{response:m.responseText,status:m.status,responseHeaders:m.getAllResponseHeaders()})):r(p,1)},m.onerror=function(){h()},m.onloadend=function(){this.destroy(),m=null},e.settings.multipart&&a.multipart?(m.open("post",i,!0),o.each(e.settings.headers,function(e,t){m.setRequestHeader(t,e)}),v=new t.FormData,o.each(o.extend(g,e.settings.multipart_params),function(e,t){v.append(t,e)}),v.append(e.settings.file_data_name,d),m.send(v,{runtime_order:e.settings.runtimes,required_caps:e.settings.required_features,preferred_caps:l,swf_url:e.settings.flash_swf_url,xap_url:e.settings.silverlight_xap_url})):(i=o.buildUrl(e.settings.url,o.extend(g,e.settings.multipart_params)),m.open("post",i,!0),m.setRequestHeader("Content-Type","application/octet-stream"),o.each(e.settings.headers,function(e,t){m.setRequestHeader(t,e)}),m.send(d,{runtime_order:e.settings.runtimes,required_caps:e.settings.required_features,preferred_caps:l,swf_url:e.settings.flash_swf_url,xap_url:e.settings.silverlight_xap_url}))}var i=e.settings.url,s=e.settings.chunk_size,u=e.settings.max_retries,a=e.features,f=0,c;n.loaded&&(f=n.loaded=s?s*Math.floor(n.loaded/s):0),c=n.getSource(),e.settings.resize.enabled&&E(c,"send_binary_string")&&!!~t.inArray(c.type,["image/jpeg","image/png"])?T.call(this,c,e.settings.resize,function(e){c=e,n.size=e.size,p()}):p()}function L(e,t){y(t)}function A(e){if(e.state==o.STARTED)p=+(new Date);else if(e.state==o.STOPPED)for(var t=e.files.length-1;t>=0;t--)e.files[t].status==o.UPLOADING&&(e.files[t].status=o.QUEUED,b())}function O(){m&&m.abort()}function M(e){b(),r(function(){g.call(e)},1)}function _(e,t){t.code===o.INIT_ERROR?e.destroy():t.file&&(t.file.status=o.FAILED,y(t.file),e.state==o.STARTED&&(e.trigger("CancelUpload"),r(function(){g.call(e)},1)))}function D(e){e.stop(),o.each(f,function(e){e.destroy()}),f=[],c.length&&(o.each(c,function(e){e.destroy()}),c=[]),h.length&&(o.each(h,function(e){e.destroy()}),h=[]),l={},v=!1,p=m=null,d.reset()}var u=o.guid(),a,f=[],l={},c=[],h=[],p,d,v=!1,m;a={runtimes:t.Runtime.order,max_retries:0,chunk_size:0,multipart:!0,multi_selection:!0,file_data_name:"file",flash_swf_url:"js/Moxie.swf",silverlight_xap_url:"js/Moxie.xap",filters:{mime_types:[],prevent_duplicates:!1,max_file_size:0},resize:{enabled:!1,preserve_headers:!0,crop:!1},send_file_name:!0,send_chunk_number:!0},N.call(this,e,null,!0),d=new o.QueueProgress,o.extend(this,{id:u,uid:u,state:o.STOPPED,features:{},runtime:null,files:f,settings:a,total:d,init:function(){var e=this;typeof a.preinit=="function"?a.preinit(e):o.each(a.preinit,function(t,n){e.bind(n,t)}),S.call(this);if(!a.browse_button||!a.url){this.trigger("Error",{code:o.INIT_ERROR,message:o.translate("Init error.")});return}x.call(this,a,function(n){typeof a.init=="function"?a.init(e):o.each(a.init,function(t,n){e.bind(n,t)}),n?(e.runtime=t.Runtime.getInfo(w()).type,e.trigger("Init",{runtime:e.runtime}),e.trigger("PostInit")):e.trigger("Error",{code:o.INIT_ERROR,message:o.translate("Init error.")})})},setOption:function(e,t){N.call(this,e,t,!this.runtime)},getOption:function(e){return e?a[e]:a},refresh:function(){c.length&&o.each(c,function(e){e.trigger("Refresh")}),this.trigger("Refresh")},start:function(){this.state!=o.STARTED&&(this.state=o.STARTED,this.trigger("StateChanged"),g.call(this))},stop:function(){this.state!=o.STOPPED&&(this.state=o.STOPPED,this.trigger("StateChanged"),this.trigger("CancelUpload"))},disableBrowse:function(){v=arguments[0]!==n?arguments[0]:!0,c.length&&o.each(c,function(e){e.disable(v)}),this.trigger("DisableBrowse",v)},getFile:function(e){var t;for(t=f.length-1;t>=0;t--)if(f[t].id===e)return f[t]},addFile:function(e,n){function c(e,n){var r=[];t.each(s.settings.filters,function(t,n){i[n]&&r.push(function(r){i[n].call(s,t,e,function(e){r(!e)})})}),t.inSeries(r,n)}function h(e){var i=t.typeOf(e);if(e instanceof t.File){if(!e.ruid&&!e.isDetached()){if(!l)return!1;e.ruid=l,e.connectRuntime(l)}h(new o.File(e))}else e instanceof t.Blob?(h(e.getSource()),e.destroy()):e instanceof o.File?(n&&(e.name=n),u.push(function(t){c(e,function(n){n||(f.push(e),a.push(e),s.trigger("FileFiltered",e)),r(t,1)})})):t.inArray(i,["file","blob"])!==-1?h(new t.File(null,e)):i==="node"&&t.typeOf(e.files)==="filelist"?t.each(e.files,h):i==="array"&&(n=null,t.each(e,h))}var s=this,u=[],a=[],l;l=w(),h(e),u.length&&t.inSeries(u,function(){a.length&&s.trigger("FilesAdded",a)})},removeFile:function(e){var t=typeof e=="string"?e:e.id;for(var n=f.length-1;n>=0;n--)if(f[n].id===t)return this.splice(n,1)[0]},splice:function(e,t){var r=f.splice(e===n?0:e,t===n?f.length:t),i=!1;return this.state==o.STARTED&&(o.each(r,function(e){if(e.status===o.UPLOADING)return i=!0,!1}),i&&this.stop()),this.trigger("FilesRemoved",r),o.each(r,function(e){e.destroy()}),i&&this.start(),r},bind:function(e,t,n){var r=this;o.Uploader.prototype.bind.call(this,e,function(){var e=[].slice.call(arguments);return e.splice(0,1,r),t.apply(this,e)},0,n)},destroy:function(){this.trigger("Destroy"),a=d=null,this.unbindAll()}})},o.Uploader.prototype=t.EventTarget.instance,o.File=function(){function n(n){o.extend(this,{id:o.guid(),name:n.name||n.fileName,type:n.type||"",size:n.size||n.fileSize,origSize:n.size||n.fileSize,loaded:0,percent:0,status:o.QUEUED,lastModifiedDate:n.lastModifiedDate||(new Date).toLocaleString(),getNative:function(){var e=this.getSource().getSource();return t.inArray(t.typeOf(e),["blob","file"])!==-1?e:null},getSource:function(){return e[this.id]?e[this.id]:null},destroy:function(){var t=this.getSource();t&&(t.destroy(),delete e[this.id])}}),e[this.id]=n}var e={};return n}(),o.QueueProgress=function(){var e=this;e.size=0,e.loaded=0,e.uploaded=0,e.failed=0,e.queued=0,e.percent=0,e.bytesPerSec=0,e.reset=function(){e.size=e.loaded=e.uploaded=e.failed=e.queued=e.percent=e.bytesPerSec=0}},e.plupload=o})(window,mOxie);
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
gallery-bank.php CHANGED
@@ -4,7 +4,7 @@
4
  Plugin URI: http://tech-banker.com
5
  Description: Gallery Bank is an easy to use Responsive WordPress Gallery Plugin for photos, videos, galleries and albums.
6
  Author: Tech Banker
7
- Version: 3.0.92
8
  Author URI: http://tech-banker.com
9
  */
10
  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
4
  Plugin URI: http://tech-banker.com
5
  Description: Gallery Bank is an easy to use Responsive WordPress Gallery Plugin for photos, videos, galleries and albums.
6
  Author: Tech Banker
7
+ Version: 3.0.93
8
  Author URI: http://tech-banker.com
9
  */
10
  ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
lang/gallery-bank-sl_SI.mo CHANGED
Binary file
lang/gallery-bank-sl_SI.po CHANGED
@@ -1,69 +1,68 @@
1
  msgid ""
2
  msgstr ""
3
- "Project-Id-Version: Gallery-Bank\n"
4
- "POT-Creation-Date: 2014-11-17 12:36+0530\n"
5
- "PO-Revision-Date: 2014-11-17 15:02+0530\n"
6
  "Last-Translator: \n"
7
- "Language-Team: Tech-Banker <support@tech-banker.com>\n"
8
- "Language: sl_SI\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
- "X-Generator: Poedit 1.6.6\n"
13
- "X-Poedit-Basepath: C:\\xampp\\htdocs\\Gallery-Testing\\wp-content\\plugins"
 
14
  "\\gallery-bank\\\n"
15
- "Plural-Forms: nplurals=2; plural=(n > 1);\n"
16
- "X-Poedit-KeywordsList: _e;__\n"
17
  "X-Poedit-SearchPath-0: .\n"
18
 
19
  #: front_views/gallery-bank-shortcode.php:4
20
  msgid "Insert Gallery Bank Shortcode"
21
- msgstr "Vstavi Gallery Bank Kratka koda"
22
 
23
  #: front_views/gallery-bank-shortcode.php:6
24
  msgid "Select an album below to add it to your post or page."
25
- msgstr "Izberite album spodaj, da ga dodate na svoj ​​post ali stran."
26
 
27
  #: front_views/gallery-bank-shortcode.php:11
28
  msgid "Gallery Type"
29
- msgstr "Galerija Vrsta"
30
 
31
  #: front_views/gallery-bank-shortcode.php:13
32
  msgid "Albums with Images"
33
- msgstr "albumi s Slike"
34
 
35
  #: front_views/gallery-bank-shortcode.php:15
36
  msgid "Only Images"
37
- msgstr "le slike"
38
 
39
  #: front_views/gallery-bank-shortcode.php:18
40
  msgid "Album Format"
41
- msgstr "albumov formata"
42
 
43
  #: front_views/gallery-bank-shortcode.php:20
44
  msgid "Select Album Format"
45
- msgstr "Izberite możnost albuma Format "
46
 
47
  #: front_views/gallery-bank-shortcode.php:27
48
  msgid "Select Album"
49
- msgstr "Izberite- albumu"
50
 
51
  #: front_views/gallery-bank-shortcode.php:29
52
  msgid "Select an Album"
53
- msgstr "Izberete album"
54
 
55
  #: front_views/gallery-bank-shortcode.php:63
56
  msgid "Gallery Format"
57
- msgstr "Galerija formata"
58
 
59
  #: front_views/gallery-bank-shortcode.php:65
60
  msgid "Select Gallery Format "
61
- msgstr "Izberite Galerija formata"
62
 
63
  #: front_views/gallery-bank-shortcode.php:74 views/album-preview.php:47
64
  #: views/images-sorting.php:240
65
  msgid "Images in Row"
66
- msgstr "Slike v vrstice"
67
 
68
  #: front_views/gallery-bank-shortcode.php:79
69
  msgid "Image Width"
@@ -71,15 +70,15 @@ msgstr "Širina slike"
71
 
72
  #: front_views/gallery-bank-shortcode.php:86 views/album-sorting.php:190
73
  msgid "Albums in Row"
74
- msgstr "albumi v vrstice"
75
 
76
  #: front_views/gallery-bank-shortcode.php:91
77
  msgid "Text Format"
78
- msgstr "oblika besedila"
79
 
80
  #: front_views/gallery-bank-shortcode.php:93
81
  msgid "Select Format "
82
- msgstr "Izberite Oblika"
83
 
84
  #: front_views/gallery-bank-shortcode.php:100
85
  msgid "Special Effects"
@@ -87,223 +86,223 @@ msgstr "Posebni učinki"
87
 
88
  #: front_views/gallery-bank-shortcode.php:122
89
  msgid "Animation Effects"
90
- msgstr "animacijski učinki"
91
 
92
  #: front_views/gallery-bank-shortcode.php:175
93
  msgid "Show Responsive Gallery"
94
- msgstr "Prikaži-Odziven- galerija"
95
 
96
  #: front_views/gallery-bank-shortcode.php:179
97
  msgid "Show Album Title"
98
- msgstr "Pokaži albumu Naslov"
99
 
100
  #: front_views/gallery-bank-shortcode.php:184
101
  msgid "Insert Album"
102
- msgstr "vstavite albumu"
103
 
104
  #: front_views/gallery-bank-shortcode.php:187
105
  msgid "Cancel"
106
- msgstr "Opusti"
107
 
108
  #: front_views/gallery-bank-shortcode.php:499
109
  msgid "Please select an Album"
110
- msgstr "Prosimo, izberite album"
111
 
112
  #: front_views/gallery-bank-shortcode.php:503
113
  msgid "Please select an Album Format"
114
- msgstr "Prosimo, izberite albuma Oblika"
115
 
116
  #: front_views/gallery-bank-shortcode.php:507
117
  msgid "Please select a Gallery Images Format"
118
- msgstr "prosim izberite Galerija slike formata"
119
 
120
  #: front_views/gallery-bank-shortcode.php:511
121
  msgid "Please select a Text Format for the Gallery"
122
- msgstr "prosim Izberite Besedilo - formata za za Galerija"
123
 
124
- #: gallery-bank.php:100 gallery-bank.php:173 gallery-bank.php:246
125
  msgid "<img src=\""
126
- msgstr ""
127
 
128
- #: gallery-bank.php:102 gallery-bank.php:175 gallery-bank.php:248
129
  msgid "/wp-admin/admin.php?page=gallery_bank"
130
- msgstr ""
131
 
132
- #: gallery-bank.php:109 gallery-bank.php:182 gallery-bank.php:255
133
- #: lib/gallery-bank-class.php:16 lib/gallery-bank-class.php:31
134
- #: lib/gallery-bank-class.php:46 views/header.php:153 views/header.php:167
135
  #: views/header.php:181
136
  msgid "Dashboard"
137
- msgstr "Armaturna plošča"
138
 
139
- #: gallery-bank.php:117 gallery-bank.php:190 gallery-bank.php:263
140
  #: views/dashboard.php:129
141
  msgid "Add New Album"
142
- msgstr "Dodaj novem albumu"
143
 
144
- #: gallery-bank.php:125 gallery-bank.php:198 gallery-bank.php:271
145
- #: lib/gallery-bank-class.php:17 lib/gallery-bank-class.php:32
146
- #: lib/gallery-bank-class.php:47 views/dashboard.php:154 views/header.php:154
147
  #: views/header.php:168 views/header.php:182
148
  msgid "Short-Codes"
149
- msgstr "Kratko-kode"
150
 
151
- #: gallery-bank.php:132 gallery-bank.php:205 gallery-bank.php:278
152
- #: lib/gallery-bank-class.php:18 lib/gallery-bank-class.php:33
153
- #: lib/gallery-bank-class.php:48 views/header.php:155 views/header.php:169
154
  #: views/header.php:183
155
  msgid "Album Sorting"
156
- msgstr "Albuma - za sortiranje"
157
 
158
- #: gallery-bank.php:139 gallery-bank.php:212 gallery-bank.php:285
159
- #: lib/gallery-bank-class.php:19 lib/gallery-bank-class.php:34
160
- #: lib/gallery-bank-class.php:49 views/header.php:156 views/header.php:170
161
  #: views/header.php:184 views/settings.php:276
162
  msgid "Global Settings"
163
- msgstr "Globalne nastavitev"
164
 
165
- #: gallery-bank.php:146 gallery-bank.php:219 gallery-bank.php:292
166
- #: lib/gallery-bank-class.php:20 lib/gallery-bank-class.php:35
167
- #: lib/gallery-bank-class.php:50 views/gallery-bank-system-report.php:29
168
  #: views/header.php:157 views/header.php:171
169
  msgid "System Status"
170
- msgstr "Sistem - Statusna"
171
 
172
- #: gallery-bank.php:153 gallery-bank.php:226 gallery-bank.php:299
173
- #: lib/gallery-bank-class.php:21 lib/gallery-bank-class.php:36
174
- #: lib/gallery-bank-class.php:51 views/header.php:81 views/header.php:158
175
  #: views/header.php:172 views/header.php:185
176
  msgid "Recommendations"
177
- msgstr "priporočila"
178
 
179
- #: gallery-bank.php:160 gallery-bank.php:233 gallery-bank.php:306
180
- #: lib/gallery-bank-class.php:22 lib/gallery-bank-class.php:37
181
- #: lib/gallery-bank-class.php:52 views/header.php:159 views/header.php:173
182
- #: views/header.php:186 views/purchase_pro_version.php:34
183
  msgid "Premium Editions"
184
- msgstr "premija za edicije"
185
 
186
- #: gallery-bank.php:167 gallery-bank.php:240 gallery-bank.php:313
187
- #: lib/gallery-bank-class.php:23 lib/gallery-bank-class.php:38
188
- #: lib/gallery-bank-class.php:53 views/header.php:86 views/header.php:160
189
  #: views/header.php:174 views/header.php:187
190
  msgid "Our Other Services"
191
- msgstr "Naši Ostale storitve"
192
 
193
- #: gallery-bank.php:327
194
  msgid "View Gallery Bank Documentation"
195
- msgstr "Poglej Gallery Bank Dokumentacija"
196
 
197
- #: gallery-bank.php:327
198
  msgid "Docs"
199
  msgstr "Dokumenti"
200
 
201
- #: gallery-bank.php:328
202
  msgid "View Gallery Bank Premium Editions"
203
- msgstr "Poglej Gallery Bank premija za edicije"
204
 
205
- #: gallery-bank.php:328
206
  msgid "Go for Premium!"
207
- msgstr "Pojdi za premija za!"
208
 
209
  #: lib/add-new-album-class.php:44 views/edit-album.php:346
210
  #: views/edit-album.php:353
211
  msgid " Set as Album Cover"
212
- msgstr "Nastavi kot Naslovnico albuma"
213
 
214
  #: lib/add-new-album-class.php:47 views/edit-album.php:294
215
  #: views/edit-album.php:359
216
  msgid "Enter your Title"
217
- msgstr "Vnesite vaš Naslovno"
218
 
219
  #: lib/add-new-album-class.php:48 views/edit-album.php:299
220
  #: views/edit-album.php:364
221
  msgid "Enter your Description "
222
- msgstr "Enter your Description "
223
 
224
  #: lib/add-new-album-class.php:50 views/edit-album.php:305
225
  #: views/edit-album.php:370
226
  msgid "Enter your Tags"
227
- msgstr "Vnesite vaš oznake"
228
 
229
  #: lib/add-new-album-class.php:54 views/edit-album.php:391
230
  msgid "Delete Image"
231
- msgstr "Izbriši sliko"
232
 
233
- #: lib/gallery-bank-class.php:15 lib/gallery-bank-class.php:30
234
- #: lib/gallery-bank-class.php:45 views/header.php:141
235
  msgid "Gallery Bank"
236
  msgstr "Gallery Bank"
237
 
238
- #: lib/gallery-bank-class.php:332
239
  msgid "Add Gallery using Gallery Bank"
240
- msgstr "Dodaj Galerija uporabo Gallery - Bank"
241
 
242
  #: views/album-preview.php:31
243
  msgid "Album Preview"
244
  msgstr "Predogled albuma"
245
 
246
  #: views/album-preview.php:34 views/album-sorting.php:158
247
- #: views/edit-album.php:161 views/edit-album.php:415
248
- #: views/images-sorting.php:202 views/purchase_pro_version.php:38
249
- #: views/settings.php:279 views/shortcode.php:33
250
  msgid "Back to Albums"
251
- msgstr "Nazaj na albumi"
252
 
253
  #: views/album-preview.php:52 views/album-sorting.php:195
254
  #: views/images-sorting.php:244
255
  msgid "Please Choose"
256
- msgstr "Prosimo Izberite"
257
 
258
  #: views/album-sorting.php:154
259
  msgid "Re-Order Albums"
260
- msgstr "Re-za naročilo Albumi"
261
 
262
  #: views/album-sorting.php:160 views/images-sorting.php:204
263
  msgid "Update Order"
264
- msgstr "Posodobi za naročilo"
265
 
266
  #: views/album-sorting.php:163 views/images-sorting.php:207
267
  msgid "Sorting Order has been updated."
268
- msgstr "Vrstni red je bil posodobljen."
269
 
270
- #: views/album-sorting.php:275 views/dashboard.php:302 views/dashboard.php:306
271
- #: views/dashboard.php:310 views/edit-album.php:612 views/edit-album.php:628
272
- #: views/images-sorting.php:308
273
  msgid "This feature is only available in Paid Premium Version!"
274
- msgstr "Ta funkcija je na voljo samo v vplačane premije različica!"
275
 
276
- #: views/dashboard.php:118 views/shortcode.php:29
277
  msgid "Gallery Bank Short-Codes"
278
- msgstr "sGallery Bank Kratko-kode"
279
 
280
  #: views/dashboard.php:135
281
  msgid "Delete All Albums"
282
- msgstr "Izbriši vse Albumi"
283
 
284
  #: views/dashboard.php:136
285
  msgid "Purge Images & Albums"
286
- msgstr "Čistka Slike in Albumi"
287
 
288
  #: views/dashboard.php:137
289
  msgid "Restore Factory Settings"
290
- msgstr "Povrnitev tovarniških nastavitev"
291
 
292
  #: views/dashboard.php:144
293
  msgid "Existing Albums Overview"
294
- msgstr "obstoječi albumi Pregled"
295
 
296
  #: views/dashboard.php:150 views/edit-album.php:253
297
  msgid "Thumbnail"
298
- msgstr "Sličica"
299
 
300
  #: views/dashboard.php:151
301
  msgid "Title"
302
- msgstr "Naslovno"
303
 
304
  #: views/dashboard.php:152
305
  msgid "Total Images"
306
- msgstr "Skupaj slike"
307
 
308
  #: views/dashboard.php:153
309
  msgid "Date"
@@ -311,86 +310,86 @@ msgstr "Datum"
311
 
312
  #: views/dashboard.php:218
313
  msgid "Edit Album"
314
- msgstr "Uredi albuma"
315
 
316
  #: views/dashboard.php:223 views/images-sorting.php:198
317
  msgid "Re-Order Images"
318
- msgstr "Re-naročite slike"
319
 
320
  #: views/dashboard.php:228
321
  msgid "Preview Album"
322
- msgstr "predogled - albuma"
323
 
324
  #: views/dashboard.php:233
325
  msgid "Delete Album"
326
- msgstr "Izbriši albuma"
327
 
328
  #: views/dashboard.php:289
329
  msgid "Are you sure you want to delete this Album?"
330
- msgstr "Ali ste prepričani, da želite izbrisati ta albumov?"
331
 
332
- #: views/edit-album.php:158
333
  msgid "Album"
334
- msgstr "albumov"
335
 
336
- #: views/edit-album.php:162 views/edit-album.php:414
337
  msgid "Save Album"
338
- msgstr "Shrani albumov"
339
 
340
- #: views/edit-album.php:166
341
  msgid "Album Saved. Kindly wait for the redirect to happen."
342
- msgstr "albumov Shranjeni. Vljudno počakajte preusmeriti, da se zgodi."
343
 
344
- #: views/edit-album.php:173
345
  msgid "Album Details"
346
- msgstr "Podrobnosti albuma"
347
 
348
- #: views/edit-album.php:177
349
  msgid "Album Title"
350
  msgstr "Naslov albuma"
351
 
352
- #: views/edit-album.php:182
353
  msgid "Enter your Album Title"
354
- msgstr "Vnesite vaš albuma Naslovno"
355
 
356
- #: views/edit-album.php:189
357
  msgid "Description"
358
- msgstr "Opis Na"
359
 
360
- #: views/edit-album.php:203
361
  msgid "Upload Images"
362
- msgstr "Naloži Slike"
363
 
364
- #: views/edit-album.php:206
365
  msgid "Your browser doesn\"t have Flash, Silverlight or HTML5 support."
366
- msgstr "Vaš brskalnik nima Flash, Silverlight ali HTML5 podporo."
367
 
368
- #: views/edit-album.php:213
369
  msgid "Upload Videos"
370
- msgstr "Naloži videoposnetki"
371
 
372
- #: views/edit-album.php:214 views/edit-album.php:260 views/settings.php:288
373
  #: views/settings.php:504 views/settings.php:734 views/settings.php:845
374
  #: views/settings.php:944 views/settings.php:1266 views/settings.php:1382
375
  #: views/settings.php:1433 views/settings.php:1485
376
  msgid " (Available in Premium Versions)"
377
- msgstr "(Na voljo v Darilo različicah)"
378
 
379
- #: views/edit-album.php:219
380
  msgid "Video Url"
381
- msgstr "videa Url"
382
 
383
- #: views/edit-album.php:223
384
  msgid "Enter your Video Url"
385
- msgstr "Vnesite svoj URL videoposnetka"
386
 
387
- #: views/edit-album.php:229
388
  msgid "Upload Video"
389
- msgstr "naloži Videoposnetek"
390
 
391
- #: views/edit-album.php:240
392
  msgid "Your Gallery Bank Album"
393
- msgstr "Vaš Gallery-Bank albuma"
394
 
395
  #: views/edit-album.php:250
396
  msgid "Delete"
@@ -398,117 +397,117 @@ msgstr "Izbriši"
398
 
399
  #: views/edit-album.php:256
400
  msgid "Title & Description"
401
- msgstr "Naslovno in Opis Na"
402
 
403
  #: views/edit-album.php:259
404
  msgid "Tags (comma separated list)"
405
- msgstr "oznake (z vejico ločen seznam)"
406
 
407
  #: views/edit-album.php:263
408
  msgid "Url to Redirect on click of an Image"
409
- msgstr "Url preusmeriti na podoba klik"
410
 
411
  #: views/edit-album.php:315
412
  msgid "Delete Video"
413
- msgstr "Izbriši Videa"
414
 
415
- #: views/edit-album.php:599
416
  msgid "Are you sure you want to delete this Image?"
417
- msgstr "Ali ste prepričani, da želite izbrisati te slike?"
418
 
419
  #: views/gallery-bank-system-report.php:32
420
  msgid "Get System Report"
421
- msgstr "Dobili - Sistem poročilo"
422
 
423
  #: views/gallery-bank-system-report.php:36
424
  msgid "Close System Report"
425
- msgstr "Zapri Sistem Poročilo"
426
 
427
- #: views/gallery-bank-system-report.php:132
428
  msgid "Default"
429
  msgstr "Privzeto"
430
 
431
  #: views/header.php:18
432
  msgid "Get Started"
433
- msgstr "ZAČNI"
434
 
435
  #: views/header.php:21
436
  msgid "Watch Gallery Video!"
437
- msgstr "pazi galerija - Videoposnetek!"
438
 
439
  #: views/header.php:25
440
  msgid "read documentation here"
441
- msgstr "preberete dokumentacijo tukaj"
442
 
443
  #: views/header.php:30
444
  msgid "Go Premium"
445
- msgstr "Pojdi premija za"
446
 
447
  #: views/header.php:34
448
  msgid "Features"
449
- msgstr "značilnosti"
450
 
451
  #: views/header.php:39
452
  msgid "Online Demos"
453
- msgstr "spletne Demosova"
454
 
455
  #: views/header.php:44
456
  msgid "Premium Pricing Plans"
457
- msgstr "premija za načrti oblikovanja cen"
458
 
459
  #: views/header.php:51
460
  msgid "Knowledge Base"
461
- msgstr "baza znanja"
462
 
463
  #: views/header.php:56
464
  msgid "Support Forum"
465
- msgstr " za podporo foruma"
466
 
467
  #: views/header.php:61
468
  msgid "FAQ's"
469
- msgstr "Pogosta vprašanja"
470
 
471
  #: views/header.php:66
472
  msgid "Detailed Features"
473
- msgstr "Podrobna značilnosti"
474
 
475
  #: views/header.php:72
476
  msgid "More Actions"
477
- msgstr "več Dejanja"
478
 
479
  #: views/header.php:76
480
  msgid "Plugin Customization"
481
- msgstr "vtičnik Prilagajanje"
482
 
483
- #: views/purchase_pro_version.php:43
484
  msgid "WP Gallery Bank is an one time Investment. Its Worth it!"
485
- msgstr "WP Galerija Bank je nekoč Naložbe. Njena vredno it!"
486
 
487
  #: views/settings.php:280
488
  msgid "Update Settings"
489
- msgstr "posodobitvi Nastavitve"
490
 
491
  #: views/settings.php:287
492
  msgid "Thumbnail Settings"
493
- msgstr "Sličica Nastavitve"
494
 
495
  #: views/settings.php:299
496
  msgid "Thumbnail Size"
497
- msgstr "Sličica Velikost"
498
 
499
  #: views/settings.php:306 views/settings.php:314 views/settings.php:522
500
  #: views/settings.php:530
501
  msgid "Original"
502
- msgstr "o izvornem"
503
 
504
  #: views/settings.php:309 views/settings.php:317 views/settings.php:525
505
  #: views/settings.php:533
506
  msgid "Custom"
507
- msgstr "meri"
508
 
509
  #: views/settings.php:326 views/settings.php:542
510
  msgid "Width"
511
- msgstr "širina"
512
 
513
  #: views/settings.php:336 views/settings.php:552
514
  msgid "Height"
@@ -516,68 +515,68 @@ msgstr "Višina"
516
 
517
  #: views/settings.php:348 views/settings.php:563 views/settings.php:985
518
  msgid "Opacity"
519
- msgstr "Opaciteta"
520
 
521
  #: views/settings.php:360 views/settings.php:575 views/settings.php:996
522
  msgid "Border Size"
523
- msgstr "Obmejno velikost"
524
 
525
  #: views/settings.php:371 views/settings.php:587 views/settings.php:1007
526
  msgid "Border Radius"
527
- msgstr "Obmejno radij"
528
 
529
  #: views/settings.php:382 views/settings.php:599 views/settings.php:1032
530
  msgid "Border Color"
531
- msgstr "meja barva"
532
 
533
  #: views/settings.php:396
534
  msgid "Margin Between Images"
535
- msgstr "marža med Slike"
536
 
537
  #: views/settings.php:406 views/settings.php:633 views/settings.php:1018
538
  msgid "Text Color"
539
- msgstr "besedila Barvn"
540
 
541
  #: views/settings.php:420 views/settings.php:650 views/settings.php:1092
542
  msgid "Text-Align"
543
- msgstr "Besedilo-uskladiti"
544
 
545
  #: views/settings.php:434 views/settings.php:664 views/settings.php:801
546
  #: views/settings.php:1106 views/settings.php:1314
547
  msgid "Font-Family"
548
- msgstr "Pisave-Družina"
549
 
550
  #: views/settings.php:457 views/settings.php:687 views/settings.php:1129
551
  msgid "Heading Font-Size"
552
- msgstr "Razdelek Pisave-Velikost"
553
 
554
  #: views/settings.php:474 views/settings.php:704 views/settings.php:1146
555
  msgid "Text Font-Size"
556
- msgstr "Besedilo Velikost pisave"
557
 
558
  #: views/settings.php:491 views/settings.php:721
559
  msgid "Description Length"
560
- msgstr "Opis Na Dolžina"
561
 
562
  #: views/settings.php:503
563
  msgid "Album Cover Settings"
564
- msgstr "Naslovnico albuma Nastavitve"
565
 
566
  #: views/settings.php:515
567
  msgid "Cover Size"
568
- msgstr "pokrova velikost"
569
 
570
  #: views/settings.php:613
571
  msgid "Margin Between Albums"
572
- msgstr "Marža Med Albumi"
573
 
574
  #: views/settings.php:623
575
  msgid "Text for Album Click"
576
- msgstr "Besedilo za Album-Kliknite"
577
 
578
  #: views/settings.php:733
579
  msgid "Filter Settings"
580
- msgstr "Nastavitve Filtra"
581
 
582
  #: views/settings.php:745
583
  msgid "Filters"
@@ -590,7 +589,7 @@ msgstr "Filtri"
590
  #: views/settings.php:1400 views/settings.php:1408 views/settings.php:1451
591
  #: views/settings.php:1459
592
  msgid "Enable"
593
- msgstr "Omogočite"
594
 
595
  #: views/settings.php:755 views/settings.php:763 views/settings.php:1173
596
  #: views/settings.php:1181 views/settings.php:1198 views/settings.php:1206
@@ -599,90 +598,90 @@ msgstr "Omogočite"
599
  #: views/settings.php:1403 views/settings.php:1411 views/settings.php:1454
600
  #: views/settings.php:1462
601
  msgid "Disable"
602
- msgstr "onesposobiti"
603
 
604
  #: views/settings.php:773
605
  msgid "Filter Color"
606
- msgstr " filtrirati-barvna"
607
 
608
  #: views/settings.php:787
609
  msgid "Filter Text Color"
610
- msgstr "Filter Besedilo Barvna"
611
 
612
  #: views/settings.php:824 views/settings.php:1337
613
  msgid "Font-Size"
614
- msgstr "Pisave-Velikost"
615
 
616
  #: views/settings.php:844
617
  msgid "Roles & Capabilities"
618
- msgstr "vlogeinzmogljivosti"
619
 
620
  #: views/settings.php:856
621
  msgid "Privileges for Admin"
622
- msgstr "Privilegiji za Administracijo"
623
 
624
  #: views/settings.php:860 views/settings.php:876 views/settings.php:892
625
  #: views/settings.php:909 views/settings.php:927
626
  msgid "Full Control"
627
- msgstr "popolnim nadzorom"
628
 
629
  #: views/settings.php:863 views/settings.php:879 views/settings.php:895
630
  #: views/settings.php:912 views/settings.php:930
631
  msgid "Read"
632
- msgstr "Preberite"
633
 
634
  #: views/settings.php:866 views/settings.php:882 views/settings.php:898
635
  #: views/settings.php:915 views/settings.php:933
636
  msgid "Write"
637
- msgstr "Napišite"
638
 
639
  #: views/settings.php:872
640
  msgid "Privileges for Editor"
641
- msgstr "Privilegiji za Urednika"
642
 
643
  #: views/settings.php:888
644
  msgid "Privileges for Author"
645
- msgstr "Pravice do avtor"
646
 
647
  #: views/settings.php:904
648
  msgid "Privileges for Contributor"
649
- msgstr "pravice za Plačnica"
650
 
651
  #: views/settings.php:921
652
  msgid "Privileges for Subscriber"
653
- msgstr "Privilegiji za naročnikom"
654
 
655
  #: views/settings.php:943
656
  msgid "Lightbox Settings"
657
- msgstr " oglasnega okvirja Nastavitve"
658
 
659
  #: views/settings.php:955
660
  msgid "Lightbox Type"
661
- msgstr "oglasnega okvirja Vrsta"
662
 
663
  #: views/settings.php:1046
664
  msgid "Inline Background"
665
- msgstr "V- vrstici Ozadje"
666
 
667
  #: views/settings.php:1060
668
  msgid "Overlay Background"
669
- msgstr "prekrivni ozadje"
670
 
671
  #: views/settings.php:1074
672
  msgid "Fade In Time"
673
- msgstr "Zbledi v čas"
674
 
675
  #: views/settings.php:1083
676
  msgid "Fade Out Time"
677
- msgstr "Zbledi Out čas"
678
 
679
  #: views/settings.php:1163
680
  msgid "Facebook Comments"
681
- msgstr "Facebooka Komentarji"
682
 
683
  #: views/settings.php:1190
684
  msgid "Social Sharing"
685
- msgstr "Socialna osnovi delitve"
686
 
687
  #: views/settings.php:1215
688
  msgid "Image Title"
@@ -690,76 +689,186 @@ msgstr "Naslov slike"
690
 
691
  #: views/settings.php:1239
692
  msgid "Image Description"
693
- msgstr "Slika Opis"
694
 
695
  #: views/settings.php:1265
696
  msgid "Front - End Layout Settings"
697
- msgstr "Spredaj - Konec Postavitev Nastavitve"
698
 
699
  #: views/settings.php:1277
700
  msgid "Text for Back Button"
701
- msgstr "Besedilo Za Nazaj Gumb"
702
 
703
  #: views/settings.php:1287
704
  msgid "Button Color"
705
- msgstr " Gumb - Barvna"
706
 
707
  #: views/settings.php:1300
708
  msgid "Button Text Color"
709
- msgstr "Gumb Barvna Besedilo"
710
 
711
  #: views/settings.php:1354
712
  msgid "Album Seperator"
713
- msgstr "albumov Ločilo"
714
 
715
  #: views/settings.php:1381
716
  msgid "Pagination Settings for Images"
717
- msgstr "Številčenje strani Nastavitve za slike"
718
 
719
  #: views/settings.php:1393
720
  msgid "Paging"
721
- msgstr "Pozivnik"
722
 
723
  #: views/settings.php:1420
724
  msgid "No. of Images Per Page "
725
- msgstr "Stevilo slik na stran"
726
 
727
  #: views/settings.php:1432
728
  msgid "Slide Show Settings"
729
- msgstr "diapozitiv Prikaži Nastavitve"
730
 
731
  #: views/settings.php:1444
732
  msgid "Auto Play"
733
- msgstr "Samodejni Igraj"
734
 
735
  #: views/settings.php:1471
736
  msgid "Interval"
737
- msgstr "intervala"
738
 
739
  #: views/settings.php:1484
740
  msgid "Language Direction Settings"
741
- msgstr "Jezik smer nastavitve"
742
 
743
  #: views/settings.php:1496
744
  msgid "Language Direction"
745
- msgstr "Jezik smer"
746
 
747
  #: views/settings.php:1653
748
  msgid "This Feature is only available in Paid Premium Version!"
749
- msgstr "Ta funkcija je na voljo samo v vplačane premije različica!"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
750
 
751
- #~ msgid "Purchase Pro Version"
752
- #~ msgstr "Nakupu- PRO Verzija"
753
 
754
- #~ msgid "Save and Submit Changes"
755
- #~ msgstr "shranite in Oddati Spremembe"
756
 
757
- #~ msgid "Album Published. Kindly wait for the redirect to happen."
758
- #~ msgstr "albumov Objavljena. vljudno počakajte za Preusmeriti za zgodilo."
759
 
760
- #~ msgid ""
761
- #~ "You will be only allowed to add 2 galleries. Kindly purchase Premium "
762
- #~ "Version for full access!"
763
- #~ msgstr ""
764
- #~ "Ti bodo dovoljeni samo dodati 2 galerije. Vljudno kupite Darilo Različica "
765
- #~ "za popoln dostop!"
1
  msgid ""
2
  msgstr ""
3
+ "Project-Id-Version: Gallery Bank\n"
4
+ "POT-Creation-Date: 2015-01-31 15:37+0530\n"
5
+ "PO-Revision-Date: \n"
6
  "Last-Translator: \n"
7
+ "Language-Team: \n"
8
+ "Language: sl\n"
9
  "MIME-Version: 1.0\n"
10
  "Content-Type: text/plain; charset=UTF-8\n"
11
  "Content-Transfer-Encoding: 8bit\n"
12
+ "X-Generator: Poedit 1.7.1\n"
13
+ "X-Poedit-KeywordsList: __;_e\n"
14
+ "X-Poedit-Basepath: C:\\xampp\\htdocs\\Development\\wp-content\\plugins"
15
  "\\gallery-bank\\\n"
 
 
16
  "X-Poedit-SearchPath-0: .\n"
17
 
18
  #: front_views/gallery-bank-shortcode.php:4
19
  msgid "Insert Gallery Bank Shortcode"
20
+ msgstr "Vstavite bližnjico \"Gallery Bank\""
21
 
22
  #: front_views/gallery-bank-shortcode.php:6
23
  msgid "Select an album below to add it to your post or page."
24
+ msgstr "Izberite album s seznama za dodajanje k prispevku ali strani"
25
 
26
  #: front_views/gallery-bank-shortcode.php:11
27
  msgid "Gallery Type"
28
+ msgstr "Vrsta galerije"
29
 
30
  #: front_views/gallery-bank-shortcode.php:13
31
  msgid "Albums with Images"
32
+ msgstr "Albumi s slikami"
33
 
34
  #: front_views/gallery-bank-shortcode.php:15
35
  msgid "Only Images"
36
+ msgstr "Samo slike"
37
 
38
  #: front_views/gallery-bank-shortcode.php:18
39
  msgid "Album Format"
40
+ msgstr "Oblika albuma"
41
 
42
  #: front_views/gallery-bank-shortcode.php:20
43
  msgid "Select Album Format"
44
+ msgstr "Izberite obliko albuma"
45
 
46
  #: front_views/gallery-bank-shortcode.php:27
47
  msgid "Select Album"
48
+ msgstr "Izbira albuma"
49
 
50
  #: front_views/gallery-bank-shortcode.php:29
51
  msgid "Select an Album"
52
+ msgstr "Izberite album"
53
 
54
  #: front_views/gallery-bank-shortcode.php:63
55
  msgid "Gallery Format"
56
+ msgstr "Vrsta galerije"
57
 
58
  #: front_views/gallery-bank-shortcode.php:65
59
  msgid "Select Gallery Format "
60
+ msgstr "Izberite vrsto galerije"
61
 
62
  #: front_views/gallery-bank-shortcode.php:74 views/album-preview.php:47
63
  #: views/images-sorting.php:240
64
  msgid "Images in Row"
65
+ msgstr "Slik v vrstici"
66
 
67
  #: front_views/gallery-bank-shortcode.php:79
68
  msgid "Image Width"
70
 
71
  #: front_views/gallery-bank-shortcode.php:86 views/album-sorting.php:190
72
  msgid "Albums in Row"
73
+ msgstr "Albumov v vrstici"
74
 
75
  #: front_views/gallery-bank-shortcode.php:91
76
  msgid "Text Format"
77
+ msgstr "Oblika besedila"
78
 
79
  #: front_views/gallery-bank-shortcode.php:93
80
  msgid "Select Format "
81
+ msgstr "Izberite obliko"
82
 
83
  #: front_views/gallery-bank-shortcode.php:100
84
  msgid "Special Effects"
86
 
87
  #: front_views/gallery-bank-shortcode.php:122
88
  msgid "Animation Effects"
89
+ msgstr "Učinki animacije"
90
 
91
  #: front_views/gallery-bank-shortcode.php:175
92
  msgid "Show Responsive Gallery"
93
+ msgstr "Prikaz odzivne \"Responsive\" galerije"
94
 
95
  #: front_views/gallery-bank-shortcode.php:179
96
  msgid "Show Album Title"
97
+ msgstr "Prikaz naslova albuma"
98
 
99
  #: front_views/gallery-bank-shortcode.php:184
100
  msgid "Insert Album"
101
+ msgstr "Vstavi album"
102
 
103
  #: front_views/gallery-bank-shortcode.php:187
104
  msgid "Cancel"
105
+ msgstr "Prekliči"
106
 
107
  #: front_views/gallery-bank-shortcode.php:499
108
  msgid "Please select an Album"
109
+ msgstr "Prosim izberite album"
110
 
111
  #: front_views/gallery-bank-shortcode.php:503
112
  msgid "Please select an Album Format"
113
+ msgstr "Prosim izberite obliko albuma"
114
 
115
  #: front_views/gallery-bank-shortcode.php:507
116
  msgid "Please select a Gallery Images Format"
117
+ msgstr "Prosim izberite obliko galerije slik"
118
 
119
  #: front_views/gallery-bank-shortcode.php:511
120
  msgid "Please select a Text Format for the Gallery"
121
+ msgstr "Prosim dodajte obliko besedila za galerijo"
122
 
123
+ #: gallery-bank.php:128 gallery-bank.php:201 gallery-bank.php:274
124
  msgid "<img src=\""
125
+ msgstr "<img src=\""
126
 
127
+ #: gallery-bank.php:130 gallery-bank.php:203 gallery-bank.php:276
128
  msgid "/wp-admin/admin.php?page=gallery_bank"
129
+ msgstr "/wp-admin/admin.php?page=gallery_bank "
130
 
131
+ #: gallery-bank.php:137 gallery-bank.php:210 gallery-bank.php:283
132
+ #: lib/gallery-bank-class.php:22 lib/gallery-bank-class.php:37
133
+ #: lib/gallery-bank-class.php:52 views/header.php:153 views/header.php:167
134
  #: views/header.php:181
135
  msgid "Dashboard"
136
+ msgstr "Nadzorna plošča"
137
 
138
+ #: gallery-bank.php:145 gallery-bank.php:218 gallery-bank.php:291
139
  #: views/dashboard.php:129
140
  msgid "Add New Album"
141
+ msgstr "Dodaj nov album"
142
 
143
+ #: gallery-bank.php:153 gallery-bank.php:226 gallery-bank.php:299
144
+ #: lib/gallery-bank-class.php:23 lib/gallery-bank-class.php:38
145
+ #: lib/gallery-bank-class.php:53 views/dashboard.php:154 views/header.php:154
146
  #: views/header.php:168 views/header.php:182
147
  msgid "Short-Codes"
148
+ msgstr "Kratke Kode"
149
 
150
+ #: gallery-bank.php:160 gallery-bank.php:233 gallery-bank.php:306
151
+ #: lib/gallery-bank-class.php:24 lib/gallery-bank-class.php:39
152
+ #: lib/gallery-bank-class.php:54 views/header.php:155 views/header.php:169
153
  #: views/header.php:183
154
  msgid "Album Sorting"
155
+ msgstr "Sortiranje po albumu"
156
 
157
+ #: gallery-bank.php:167 gallery-bank.php:240 gallery-bank.php:313
158
+ #: lib/gallery-bank-class.php:25 lib/gallery-bank-class.php:40
159
+ #: lib/gallery-bank-class.php:55 views/header.php:156 views/header.php:170
160
  #: views/header.php:184 views/settings.php:276
161
  msgid "Global Settings"
162
+ msgstr "Globalne nastavitve"
163
 
164
+ #: gallery-bank.php:174 gallery-bank.php:247 gallery-bank.php:320
165
+ #: lib/gallery-bank-class.php:26 lib/gallery-bank-class.php:41
166
+ #: lib/gallery-bank-class.php:56 views/gallery-bank-system-report.php:29
167
  #: views/header.php:157 views/header.php:171
168
  msgid "System Status"
169
+ msgstr "Stanje sistema"
170
 
171
+ #: gallery-bank.php:181 gallery-bank.php:254 gallery-bank.php:327
172
+ #: lib/gallery-bank-class.php:27 lib/gallery-bank-class.php:42
173
+ #: lib/gallery-bank-class.php:57 views/header.php:81 views/header.php:158
174
  #: views/header.php:172 views/header.php:185
175
  msgid "Recommendations"
176
+ msgstr "Priporočeno"
177
 
178
+ #: gallery-bank.php:188 gallery-bank.php:261 gallery-bank.php:334
179
+ #: lib/gallery-bank-class.php:28 lib/gallery-bank-class.php:43
180
+ #: lib/gallery-bank-class.php:58 views/header.php:159 views/header.php:173
181
+ #: views/header.php:186 views/purchase_pro_version.php:28
182
  msgid "Premium Editions"
183
+ msgstr "Premium različice"
184
 
185
+ #: gallery-bank.php:195 gallery-bank.php:268 gallery-bank.php:341
186
+ #: lib/gallery-bank-class.php:29 lib/gallery-bank-class.php:44
187
+ #: lib/gallery-bank-class.php:59 views/header.php:86 views/header.php:160
188
  #: views/header.php:174 views/header.php:187
189
  msgid "Our Other Services"
190
+ msgstr "Naše druge storitve"
191
 
192
+ #: gallery-bank.php:351
193
  msgid "View Gallery Bank Documentation"
194
+ msgstr "Ogled Gallery Bank dokumentacije"
195
 
196
+ #: gallery-bank.php:351
197
  msgid "Docs"
198
  msgstr "Dokumenti"
199
 
200
+ #: gallery-bank.php:352
201
  msgid "View Gallery Bank Premium Editions"
202
+ msgstr "Oglej Gallery Bank Premije Edicije"
203
 
204
+ #: gallery-bank.php:352
205
  msgid "Go for Premium!"
206
+ msgstr "Pojdi za premije!"
207
 
208
  #: lib/add-new-album-class.php:44 views/edit-album.php:346
209
  #: views/edit-album.php:353
210
  msgid " Set as Album Cover"
211
+ msgstr "Nastavi kot sliko albuma"
212
 
213
  #: lib/add-new-album-class.php:47 views/edit-album.php:294
214
  #: views/edit-album.php:359
215
  msgid "Enter your Title"
216
+ msgstr "Dodaj naslov"
217
 
218
  #: lib/add-new-album-class.php:48 views/edit-album.php:299
219
  #: views/edit-album.php:364
220
  msgid "Enter your Description "
221
+ msgstr "Dodaj opis"
222
 
223
  #: lib/add-new-album-class.php:50 views/edit-album.php:305
224
  #: views/edit-album.php:370
225
  msgid "Enter your Tags"
226
+ msgstr "Dodaj oznake"
227
 
228
  #: lib/add-new-album-class.php:54 views/edit-album.php:391
229
  msgid "Delete Image"
230
+ msgstr "Izbris slike"
231
 
232
+ #: lib/gallery-bank-class.php:21 lib/gallery-bank-class.php:36
233
+ #: lib/gallery-bank-class.php:51 views/header.php:141
234
  msgid "Gallery Bank"
235
  msgstr "Gallery Bank"
236
 
237
+ #: lib/gallery-bank-class.php:404
238
  msgid "Add Gallery using Gallery Bank"
239
+ msgstr "Dodaj galerijo z Gallery Bank"
240
 
241
  #: views/album-preview.php:31
242
  msgid "Album Preview"
243
  msgstr "Predogled albuma"
244
 
245
  #: views/album-preview.php:34 views/album-sorting.php:158
246
+ #: views/edit-album.php:160 views/edit-album.php:415
247
+ #: views/images-sorting.php:202 views/purchase_pro_version.php:32
248
+ #: views/settings.php:279 views/shortcode.php:32
249
  msgid "Back to Albums"
250
+ msgstr "Nazaj k albumom"
251
 
252
  #: views/album-preview.php:52 views/album-sorting.php:195
253
  #: views/images-sorting.php:244
254
  msgid "Please Choose"
255
+ msgstr "Prosim izberi"
256
 
257
  #: views/album-sorting.php:154
258
  msgid "Re-Order Albums"
259
+ msgstr "Spremeni vrstni red albumov"
260
 
261
  #: views/album-sorting.php:160 views/images-sorting.php:204
262
  msgid "Update Order"
263
+ msgstr "Posodobi vrstni red"
264
 
265
  #: views/album-sorting.php:163 views/images-sorting.php:207
266
  msgid "Sorting Order has been updated."
267
+ msgstr "Vrstni red je posodobljen"
268
 
269
+ #: views/album-sorting.php:275 views/dashboard.php:302
270
+ #: views/dashboard.php:306 views/dashboard.php:310 views/edit-album.php:610
271
+ #: views/edit-album.php:626 views/images-sorting.php:308
272
  msgid "This feature is only available in Paid Premium Version!"
273
+ msgstr "Ta funkcija je na voljo samo v vplačane premije različici!"
274
 
275
+ #: views/dashboard.php:118 views/shortcode.php:28
276
  msgid "Gallery Bank Short-Codes"
277
+ msgstr "Gallery Bank Kratki-Kode"
278
 
279
  #: views/dashboard.php:135
280
  msgid "Delete All Albums"
281
+ msgstr "Izbris vseh albumov"
282
 
283
  #: views/dashboard.php:136
284
  msgid "Purge Images & Albums"
285
+ msgstr "Odstranitev slik in albumov"
286
 
287
  #: views/dashboard.php:137
288
  msgid "Restore Factory Settings"
289
+ msgstr "Povrnitev na privzete nastavitve"
290
 
291
  #: views/dashboard.php:144
292
  msgid "Existing Albums Overview"
293
+ msgstr "Ogled obstoječih albumov"
294
 
295
  #: views/dashboard.php:150 views/edit-album.php:253
296
  msgid "Thumbnail"
297
+ msgstr "Podrobnost"
298
 
299
  #: views/dashboard.php:151
300
  msgid "Title"
301
+ msgstr "Naslov"
302
 
303
  #: views/dashboard.php:152
304
  msgid "Total Images"
305
+ msgstr "Skupno število slik"
306
 
307
  #: views/dashboard.php:153
308
  msgid "Date"
310
 
311
  #: views/dashboard.php:218
312
  msgid "Edit Album"
313
+ msgstr "Uredi album"
314
 
315
  #: views/dashboard.php:223 views/images-sorting.php:198
316
  msgid "Re-Order Images"
317
+ msgstr "Spremeni vrstni red slik"
318
 
319
  #: views/dashboard.php:228
320
  msgid "Preview Album"
321
+ msgstr "Predogled albuma"
322
 
323
  #: views/dashboard.php:233
324
  msgid "Delete Album"
325
+ msgstr "Izbriši album"
326
 
327
  #: views/dashboard.php:289
328
  msgid "Are you sure you want to delete this Album?"
329
+ msgstr "Si prepričan, da želiš izbrisati ta album?"
330
 
331
+ #: views/edit-album.php:157
332
  msgid "Album"
333
+ msgstr "Album"
334
 
335
+ #: views/edit-album.php:161 views/edit-album.php:414
336
  msgid "Save Album"
337
+ msgstr "Shrani album"
338
 
339
+ #: views/edit-album.php:165
340
  msgid "Album Saved. Kindly wait for the redirect to happen."
341
+ msgstr "Album shranjen. Preusmerjam."
342
 
343
+ #: views/edit-album.php:172
344
  msgid "Album Details"
345
+ msgstr "Podrobnosti o albumu"
346
 
347
+ #: views/edit-album.php:176
348
  msgid "Album Title"
349
  msgstr "Naslov albuma"
350
 
351
+ #: views/edit-album.php:181
352
  msgid "Enter your Album Title"
353
+ msgstr "Vnos naslova albuma"
354
 
355
+ #: views/edit-album.php:188
356
  msgid "Description"
357
+ msgstr "Opis"
358
 
359
+ #: views/edit-album.php:204
360
  msgid "Upload Images"
361
+ msgstr "Nalaganje slik"
362
 
363
+ #: views/edit-album.php:207
364
  msgid "Your browser doesn\"t have Flash, Silverlight or HTML5 support."
365
+ msgstr "Vaš brskalnik nima podpore Flash, Silverlight ali HTML5."
366
 
367
+ #: views/edit-album.php:214
368
  msgid "Upload Videos"
369
+ msgstr "Nalaganje videoposnetkov"
370
 
371
+ #: views/edit-album.php:215 views/edit-album.php:260 views/settings.php:288
372
  #: views/settings.php:504 views/settings.php:734 views/settings.php:845
373
  #: views/settings.php:944 views/settings.php:1266 views/settings.php:1382
374
  #: views/settings.php:1433 views/settings.php:1485
375
  msgid " (Available in Premium Versions)"
376
+ msgstr "(Na voljo v premije različici)"
377
 
378
+ #: views/edit-album.php:220
379
  msgid "Video Url"
380
+ msgstr "URL posnetka"
381
 
382
+ #: views/edit-album.php:224
383
  msgid "Enter your Video Url"
384
+ msgstr "Vstavi URL videoposnetka"
385
 
386
+ #: views/edit-album.php:230
387
  msgid "Upload Video"
388
+ msgstr "Naloži videoposnetek"
389
 
390
+ #: views/edit-album.php:241
391
  msgid "Your Gallery Bank Album"
392
+ msgstr "Vaš Gallery Bank album"
393
 
394
  #: views/edit-album.php:250
395
  msgid "Delete"
397
 
398
  #: views/edit-album.php:256
399
  msgid "Title & Description"
400
+ msgstr "Naslov in podrobnosti"
401
 
402
  #: views/edit-album.php:259
403
  msgid "Tags (comma separated list)"
404
+ msgstr "Oznake (z vejico ločen seznam)"
405
 
406
  #: views/edit-album.php:263
407
  msgid "Url to Redirect on click of an Image"
408
+ msgstr "Povezava URL za preusmeritev klika na sliko"
409
 
410
  #: views/edit-album.php:315
411
  msgid "Delete Video"
412
+ msgstr "Izbris videoposnetka"
413
 
414
+ #: views/edit-album.php:597
415
  msgid "Are you sure you want to delete this Image?"
416
+ msgstr "Ali resnično želite izbrisati to sliko?"
417
 
418
  #: views/gallery-bank-system-report.php:32
419
  msgid "Get System Report"
420
+ msgstr "Dobi sistemsko poročilo"
421
 
422
  #: views/gallery-bank-system-report.php:36
423
  msgid "Close System Report"
424
+ msgstr "Zapri sistemsko poročilo"
425
 
426
+ #: views/gallery-bank-system-report.php:162
427
  msgid "Default"
428
  msgstr "Privzeto"
429
 
430
  #: views/header.php:18
431
  msgid "Get Started"
432
+ msgstr "Začni"
433
 
434
  #: views/header.php:21
435
  msgid "Watch Gallery Video!"
436
+ msgstr "Ogled Gallery videa"
437
 
438
  #: views/header.php:25
439
  msgid "read documentation here"
440
+ msgstr "branje dokumentacije tukaj"
441
 
442
  #: views/header.php:30
443
  msgid "Go Premium"
444
+ msgstr "Pojdi Premije"
445
 
446
  #: views/header.php:34
447
  msgid "Features"
448
+ msgstr "Lastnosti"
449
 
450
  #: views/header.php:39
451
  msgid "Online Demos"
452
+ msgstr "Demo na spletu"
453
 
454
  #: views/header.php:44
455
  msgid "Premium Pricing Plans"
456
+ msgstr "premije načrti cenik"
457
 
458
  #: views/header.php:51
459
  msgid "Knowledge Base"
460
+ msgstr "Zbirka znanja"
461
 
462
  #: views/header.php:56
463
  msgid "Support Forum"
464
+ msgstr "Forum podpore"
465
 
466
  #: views/header.php:61
467
  msgid "FAQ's"
468
+ msgstr "Vprašanja in odgovori"
469
 
470
  #: views/header.php:66
471
  msgid "Detailed Features"
472
+ msgstr "Podrobne lastnosti"
473
 
474
  #: views/header.php:72
475
  msgid "More Actions"
476
+ msgstr "Več dejanj"
477
 
478
  #: views/header.php:76
479
  msgid "Plugin Customization"
480
+ msgstr "Plugin Customization"
481
 
482
+ #: views/purchase_pro_version.php:37
483
  msgid "WP Gallery Bank is an one time Investment. Its Worth it!"
484
+ msgstr "WP Gallery Bank je en čas Naložbe. Njena je vredno!"
485
 
486
  #: views/settings.php:280
487
  msgid "Update Settings"
488
+ msgstr "Posodobi nastavitve"
489
 
490
  #: views/settings.php:287
491
  msgid "Thumbnail Settings"
492
+ msgstr "Nastavitev sličic"
493
 
494
  #: views/settings.php:299
495
  msgid "Thumbnail Size"
496
+ msgstr "Velikost sličic"
497
 
498
  #: views/settings.php:306 views/settings.php:314 views/settings.php:522
499
  #: views/settings.php:530
500
  msgid "Original"
501
+ msgstr "Original"
502
 
503
  #: views/settings.php:309 views/settings.php:317 views/settings.php:525
504
  #: views/settings.php:533
505
  msgid "Custom"
506
+ msgstr "Po meri"
507
 
508
  #: views/settings.php:326 views/settings.php:542
509
  msgid "Width"
510
+ msgstr "Širina"
511
 
512
  #: views/settings.php:336 views/settings.php:552
513
  msgid "Height"
515
 
516
  #: views/settings.php:348 views/settings.php:563 views/settings.php:985
517
  msgid "Opacity"
518
+ msgstr "Prosojnost"
519
 
520
  #: views/settings.php:360 views/settings.php:575 views/settings.php:996
521
  msgid "Border Size"
522
+ msgstr "Velikost okvira"
523
 
524
  #: views/settings.php:371 views/settings.php:587 views/settings.php:1007
525
  msgid "Border Radius"
526
+ msgstr "Polmer okvira"
527
 
528
  #: views/settings.php:382 views/settings.php:599 views/settings.php:1032
529
  msgid "Border Color"
530
+ msgstr "Barva okvira"
531
 
532
  #: views/settings.php:396
533
  msgid "Margin Between Images"
534
+ msgstr "Razdalja med slikami"
535
 
536
  #: views/settings.php:406 views/settings.php:633 views/settings.php:1018
537
  msgid "Text Color"
538
+ msgstr "Barva besedila"
539
 
540
  #: views/settings.php:420 views/settings.php:650 views/settings.php:1092
541
  msgid "Text-Align"
542
+ msgstr "Poravnava besedila"
543
 
544
  #: views/settings.php:434 views/settings.php:664 views/settings.php:801
545
  #: views/settings.php:1106 views/settings.php:1314
546
  msgid "Font-Family"
547
+ msgstr "Vrsta pisave"
548
 
549
  #: views/settings.php:457 views/settings.php:687 views/settings.php:1129
550
  msgid "Heading Font-Size"
551
+ msgstr "Velikost pisave naslovov"
552
 
553
  #: views/settings.php:474 views/settings.php:704 views/settings.php:1146
554
  msgid "Text Font-Size"
555
+ msgstr "Velikost besedila"
556
 
557
  #: views/settings.php:491 views/settings.php:721
558
  msgid "Description Length"
559
+ msgstr "Dolžina opisa"
560
 
561
  #: views/settings.php:503
562
  msgid "Album Cover Settings"
563
+ msgstr "Nastavitev ovitka albuma"
564
 
565
  #: views/settings.php:515
566
  msgid "Cover Size"
567
+ msgstr "Veličina ovitka"
568
 
569
  #: views/settings.php:613
570
  msgid "Margin Between Albums"
571
+ msgstr "Razdalja med albumi"
572
 
573
  #: views/settings.php:623
574
  msgid "Text for Album Click"
575
+ msgstr "Besedilo za klik na album"
576
 
577
  #: views/settings.php:733
578
  msgid "Filter Settings"
579
+ msgstr "Nastavitve filtra"
580
 
581
  #: views/settings.php:745
582
  msgid "Filters"
589
  #: views/settings.php:1400 views/settings.php:1408 views/settings.php:1451
590
  #: views/settings.php:1459
591
  msgid "Enable"
592
+ msgstr "Omogoči"
593
 
594
  #: views/settings.php:755 views/settings.php:763 views/settings.php:1173
595
  #: views/settings.php:1181 views/settings.php:1198 views/settings.php:1206
598
  #: views/settings.php:1403 views/settings.php:1411 views/settings.php:1454
599
  #: views/settings.php:1462
600
  msgid "Disable"
601
+ msgstr "Onemogoči"
602
 
603
  #: views/settings.php:773
604
  msgid "Filter Color"
605
+ msgstr "Barva filtra"
606
 
607
  #: views/settings.php:787
608
  msgid "Filter Text Color"
609
+ msgstr "Barva filtra besedila"
610
 
611
  #: views/settings.php:824 views/settings.php:1337
612
  msgid "Font-Size"
613
+ msgstr "Velikost pisave"
614
 
615
  #: views/settings.php:844
616
  msgid "Roles & Capabilities"
617
+ msgstr "Vloge in pravice"
618
 
619
  #: views/settings.php:856
620
  msgid "Privileges for Admin"
621
+ msgstr "Pravice za administratorja"
622
 
623
  #: views/settings.php:860 views/settings.php:876 views/settings.php:892
624
  #: views/settings.php:909 views/settings.php:927
625
  msgid "Full Control"
626
+ msgstr "Poln nadzor"
627
 
628
  #: views/settings.php:863 views/settings.php:879 views/settings.php:895
629
  #: views/settings.php:912 views/settings.php:930
630
  msgid "Read"
631
+ msgstr "Branje"
632
 
633
  #: views/settings.php:866 views/settings.php:882 views/settings.php:898
634
  #: views/settings.php:915 views/settings.php:933
635
  msgid "Write"
636
+ msgstr "Pisanje"
637
 
638
  #: views/settings.php:872
639
  msgid "Privileges for Editor"
640
+ msgstr "Pravice za urednika"
641
 
642
  #: views/settings.php:888
643
  msgid "Privileges for Author"
644
+ msgstr "Pravice za avtorja"
645
 
646
  #: views/settings.php:904
647
  msgid "Privileges for Contributor"
648
+ msgstr "Pravice za sodelavca"
649
 
650
  #: views/settings.php:921
651
  msgid "Privileges for Subscriber"
652
+ msgstr "Pravice za naročnika"
653
 
654
  #: views/settings.php:943
655
  msgid "Lightbox Settings"
656
+ msgstr "Nastavitve za Lightbox"
657
 
658
  #: views/settings.php:955
659
  msgid "Lightbox Type"
660
+ msgstr "Vrsta Lightbox"
661
 
662
  #: views/settings.php:1046
663
  msgid "Inline Background"
664
+ msgstr "Ozadje vrstičnega elementa"
665
 
666
  #: views/settings.php:1060
667
  msgid "Overlay Background"
668
+ msgstr "Prekrivno ozadje"
669
 
670
  #: views/settings.php:1074
671
  msgid "Fade In Time"
672
+ msgstr "Čas osvetlitve"
673
 
674
  #: views/settings.php:1083
675
  msgid "Fade Out Time"
676
+ msgstr "Čas zatemnitve"
677
 
678
  #: views/settings.php:1163
679
  msgid "Facebook Comments"
680
+ msgstr "Komentarji s Facebooka"
681
 
682
  #: views/settings.php:1190
683
  msgid "Social Sharing"
684
+ msgstr "Delitev po socialnem omrežju"
685
 
686
  #: views/settings.php:1215
687
  msgid "Image Title"
689
 
690
  #: views/settings.php:1239
691
  msgid "Image Description"
692
+ msgstr "Opis slike"
693
 
694
  #: views/settings.php:1265
695
  msgid "Front - End Layout Settings"
696
+ msgstr "Nastavitev razporeditve"
697
 
698
  #: views/settings.php:1277
699
  msgid "Text for Back Button"
700
+ msgstr "Besedilo za gumb \"Nazaj\""
701
 
702
  #: views/settings.php:1287
703
  msgid "Button Color"
704
+ msgstr "Barva gumba"
705
 
706
  #: views/settings.php:1300
707
  msgid "Button Text Color"
708
+ msgstr "Barva besedila gumba"
709
 
710
  #: views/settings.php:1354
711
  msgid "Album Seperator"
712
+ msgstr "Izločitev albumov"
713
 
714
  #: views/settings.php:1381
715
  msgid "Pagination Settings for Images"
716
+ msgstr "Nastavitev številčenja slik"
717
 
718
  #: views/settings.php:1393
719
  msgid "Paging"
720
+ msgstr "Številčenje"
721
 
722
  #: views/settings.php:1420
723
  msgid "No. of Images Per Page "
724
+ msgstr "Št. slik na strani"
725
 
726
  #: views/settings.php:1432
727
  msgid "Slide Show Settings"
728
+ msgstr "Nastavitev predvajalnika slik"
729
 
730
  #: views/settings.php:1444
731
  msgid "Auto Play"
732
+ msgstr "Predvajaj samodejno"
733
 
734
  #: views/settings.php:1471
735
  msgid "Interval"
736
+ msgstr "Časovni interval"
737
 
738
  #: views/settings.php:1484
739
  msgid "Language Direction Settings"
740
+ msgstr "Nastavitve za jezike"
741
 
742
  #: views/settings.php:1496
743
  msgid "Language Direction"
744
+ msgstr "Jeziki"
745
 
746
  #: views/settings.php:1653
747
  msgid "This Feature is only available in Paid Premium Version!"
748
+ msgstr "Ta funkcija je na voljo samo v vplačane premije različici!"
749
+
750
+ #~ msgid "VIEW ALL"
751
+ #~ msgstr "PRIKAŽI VSE"
752
+
753
+ #~ msgid "Licensing"
754
+ #~ msgstr "Licenca"
755
+
756
+ #~ msgid " Rotate Image"
757
+ #~ msgstr "Zasuk slike"
758
+
759
+ #~ msgid "Select Gallery"
760
+ #~ msgstr "Izberi galerijo"
761
+
762
+ #~ msgid "Select Gallery Format"
763
+ #~ msgstr "Izberi vrsto galerije"
764
+
765
+ #~ msgid "Images In Row"
766
+ #~ msgstr "Slik v vrstici"
767
+
768
+ #~ msgid "Select Text Format"
769
+ #~ msgstr "Izberi obliko besedila"
770
+
771
+ #~ msgid "Special Effect"
772
+ #~ msgstr "Posebni učinki"
773
+
774
+ #~ msgid "Select Special Effect"
775
+ #~ msgstr "Izberi poseben učinek"
776
+
777
+ #~ msgid "Animation Effect"
778
+ #~ msgstr "Efekt animacije"
779
+
780
+ #~ msgid "Responsive Gallery"
781
+ #~ msgstr "Odzivna \"responsive\" galerija"
782
+
783
+ #~ msgid "Attention! A new vesion of Gallery Bank is available for download."
784
+ #~ msgstr "Pozor! Na voljo je nova različica Gallery Bank za prenos."
785
+
786
+ #~ msgid "Click"
787
+ #~ msgstr "Klik"
788
+
789
+ #~ msgid "here"
790
+ #~ msgstr "tukaj"
791
+
792
+ #~ msgid "to upgrade your version of Gallery Bank."
793
+ #~ msgstr "za posodobitev trenutne različice Gallery Bank"
794
+
795
+ #~ msgid "Dashboard - Gallery Bank"
796
+ #~ msgstr "Nadzorna plošča - Gallery Bank"
797
+
798
+ #~ msgid "Date of Creation"
799
+ #~ msgstr "Ustvarjeno dne"
800
+
801
+ #~ msgid "Are you sure you want to delete all Albums?"
802
+ #~ msgstr "Si prepričan, da želiš izbrisati vse albume?"
803
+
804
+ #~ msgid "Are you sure you want to Restore Factory Settings?"
805
+ #~ msgstr "Si prepričan, da želiš povrniti privzete nastavitve?"
806
+
807
+ #~ msgid "Are you sure you want to Purge all Images & Albums?"
808
+ #~ msgstr "Si prepričan, da želiš __ vse slike in albume?"
809
+
810
+ #~ msgid "Upload Thumbnails "
811
+ #~ msgstr "Podrobnosti nalaganja"
812
+
813
+ #~ msgid "Your Wordpress Version doesn\"t support Wp-media."
814
+ #~ msgstr "Ta različica Wordpressa ne podpira wp-media"
815
+
816
+ #~ msgid "Are you sure you want to delete these Images?"
817
+ #~ msgstr "Ali resnično želite izbrisati te slike?"
818
+
819
+ #~ msgid "Our Other Products"
820
+ #~ msgstr "Naši ostali produkti"
821
+
822
+ #~ msgid "Order Customization"
823
+ #~ msgstr "Ročno urejanje vrstnega redu"
824
+
825
+ #~ msgid "Gallery Bank Licensing Module"
826
+ #~ msgstr "Gallery Bank licenčni modul"
827
+
828
+ #~ msgid "Update"
829
+ #~ msgstr "Posodobitev"
830
+
831
+ #~ msgid "Success! Settings have been updated."
832
+ #~ msgstr "Nastavitve so uspešno posodobljene!"
833
+
834
+ #~ msgid "Restore Settings"
835
+ #~ msgstr "Povrni nastavitve"
836
+
837
+ #~ msgid "Settings has been updated."
838
+ #~ msgstr "Nastavitve posodobljene."
839
+
840
+ #~ msgid "Success! Settings have been restored."
841
+ #~ msgstr "Nastavitve so uspešno povrnjene! "
842
+
843
+ #~ msgid "Show Albums"
844
+ #~ msgstr "Prikaz albumov"
845
+
846
+ #~ msgid "Responsive"
847
+ #~ msgstr "Odzivno \"Responsive\""
848
+
849
+ #~ msgid "With Albums in Row"
850
+ #~ msgstr "Z albumi v vrstici"
851
+
852
+ #~ msgid "Image Uploader Settings"
853
+ #~ msgstr "Nastavitve za nalagalca slk"
854
+
855
+ #~ msgid "Uploader for Images"
856
+ #~ msgstr "Nalagalec za slike"
857
+
858
+ #~ msgid "WP Media"
859
+ #~ msgstr "WP medij"
860
+
861
+ #~ msgid "Change Uploading Image Name"
862
+ #~ msgstr "Sprememba naslova pri nalaganju slike"
863
 
864
+ #~ msgid "Image url location"
865
+ #~ msgstr "URL slike"
866
 
867
+ #~ msgid "Open in New Window"
868
+ #~ msgstr "Odpri v novem oknu"
869
 
870
+ #~ msgid "Same Window"
871
+ #~ msgstr "Istem oknu"
872
 
873
+ #~ msgid "Are you sure you want to restore settings?"
874
+ #~ msgstr "Želiš povrniti nastavitve?"
 
 
 
 
lib/gallery-bank-class.php CHANGED
@@ -300,14 +300,14 @@ function backend_scripts_calls()
300
  wp_enqueue_script("jquery-ui-dialog");
301
  wp_enqueue_script("farbtastic");
302
  wp_enqueue_script("imgLiquid.js", plugins_url("/assets/js/imgLiquid.js",dirname(__FILE__)));
303
- wp_enqueue_script("jquery.dataTables.min.js", plugins_url("/assets/js/jquery.dataTables.min.js",dirname(__FILE__)));
304
- wp_enqueue_script("jquery.validate.min.js", plugins_url("/assets/js/jquery.validate.min.js",dirname(__FILE__)));
305
  wp_enqueue_script("plupload.full.min.js", plugins_url("/assets/js/plupload.full.min.js",dirname(__FILE__)));
306
- wp_enqueue_script("jquery.plupload.queue.js", plugins_url("/assets/js/jquery.plupload.queue.js",dirname(__FILE__)));
 
 
307
  wp_enqueue_script("jquery.Tooltip.js", plugins_url("/assets/js/jquery.Tooltip.js",dirname(__FILE__)));
308
  wp_enqueue_script("bootstrap.js", plugins_url("/assets/js/bootstrap.js",dirname(__FILE__)));
309
  wp_enqueue_script("jquery.prettyPhoto.js", plugins_url("/assets/js/jquery.prettyPhoto.js",dirname(__FILE__)));
310
- wp_enqueue_style("google-fonts-roboto", "//fonts.googleapis.com/css?family=Roboto Condensed:300|Roboto Condensed:300|Roboto Condensed:300|Roboto Condensed:regular|Roboto Condensed:300");
311
  }
312
 
313
  function frontend_plugin_js_scripts_gallery_bank()
@@ -325,7 +325,8 @@ function backend_css_calls()
325
  {
326
  wp_enqueue_style("farbtastic");
327
  wp_enqueue_style("wp-jquery-ui-dialog");
328
- wp_enqueue_style("jquery.plupload.queue.css", plugins_url("/assets/css/jquery.plupload.queue.css",dirname(__FILE__)));
 
329
  wp_enqueue_style("stylesheet.css", plugins_url("/assets/css/stylesheet.css",dirname(__FILE__)));
330
  wp_enqueue_style("font-awesome.css", plugins_url("/assets/css/font-awesome/css/font-awesome.css",dirname(__FILE__)));
331
  wp_enqueue_style("system-message.css", plugins_url("/assets/css/system-message.css",dirname(__FILE__)));
300
  wp_enqueue_script("jquery-ui-dialog");
301
  wp_enqueue_script("farbtastic");
302
  wp_enqueue_script("imgLiquid.js", plugins_url("/assets/js/imgLiquid.js",dirname(__FILE__)));
 
 
303
  wp_enqueue_script("plupload.full.min.js", plugins_url("/assets/js/plupload.full.min.js",dirname(__FILE__)));
304
+ wp_enqueue_script("jquery.dataTables.min.js", plugins_url("/assets/js/jquery.dataTables.min.js",dirname(__FILE__)), array("jquery-ui-widget","jquery-ui-progressbar"),false);
305
+ wp_enqueue_script("jquery.validate.min.js", plugins_url("/assets/js/jquery.validate.min.js",dirname(__FILE__)));
306
+ wp_enqueue_script("jquery.ui.plupload.js", plugins_url("/assets/js/jquery.ui.plupload.js",dirname(__FILE__)));
307
  wp_enqueue_script("jquery.Tooltip.js", plugins_url("/assets/js/jquery.Tooltip.js",dirname(__FILE__)));
308
  wp_enqueue_script("bootstrap.js", plugins_url("/assets/js/bootstrap.js",dirname(__FILE__)));
309
  wp_enqueue_script("jquery.prettyPhoto.js", plugins_url("/assets/js/jquery.prettyPhoto.js",dirname(__FILE__)));
310
+ wp_enqueue_style("google-fonts-roboto", "http://fonts.googleapis.com/css?family=Roboto Condensed:300|Roboto Condensed:300|Roboto Condensed:300|Roboto Condensed:regular|Roboto Condensed:300");
311
  }
312
 
313
  function frontend_plugin_js_scripts_gallery_bank()
325
  {
326
  wp_enqueue_style("farbtastic");
327
  wp_enqueue_style("wp-jquery-ui-dialog");
328
+ wp_enqueue_style("jquery-ui.css", plugins_url("/assets/css/jquery-ui.css",dirname(__FILE__)));
329
+ wp_enqueue_style("jquery.ui.plupload.css", plugins_url("/assets/css/jquery.ui.plupload.css",dirname(__FILE__)));
330
  wp_enqueue_style("stylesheet.css", plugins_url("/assets/css/stylesheet.css",dirname(__FILE__)));
331
  wp_enqueue_style("font-awesome.css", plugins_url("/assets/css/font-awesome/css/font-awesome.css",dirname(__FILE__)));
332
  wp_enqueue_style("system-message.css", plugins_url("/assets/css/system-message.css",dirname(__FILE__)));
readme.txt CHANGED
@@ -1,9 +1,9 @@
1
  === Gallery Bank - Responsive Photo Gallery ===
2
  Contributors: Gallery-Bank,contact-banker
3
  Tags: add album, add gallery, add picture, add pictures, admin, AJAX, album, banner rotator, best gallery, best gallery plugin, best image slider, best portfolio, bilder, comments, easy media gallery, fancy gallery, filterable gallery, filterable portfolio, foto, fotoalbum, fotogalerie, free photo gallery, fullscreen gallery, galary, galeri, galerie, galerij, galery, gallary, Galleria, gallerie, galleries, gallery, gallery decription, gallery image, gallery lightbox, Gallery Plugin, gallery shortcode, gallery slider, gelary, gellary, gellery, google, grid gallery, html5 player, html5 video, html5-audio, image, image album, image gallery, image gallery plugin, image lightbox, image rotate, image slider, image slideshow, images, images gallery, jquery, jquery gallery, jquery slider, jquery slideshow, lightbox, links, media, media gallery, multiple pictures, nextgen gallery, page, pagination gallery, pagination portfolio, photo, photo album, photo albums, photo gallery, Photo Slider, photoalbum, photogallery, photos, photoset, picture, pictures, plugin, plugin for gallery, plugin gallery, portfolio, portfolio gallery, portfolio plugin, Post, posts, responsive gallery, responsive image gallery, responsive slider, responsive slideshow, responsive wordpress photo gallery, seo, seo image, shortcode, sidebar, Simple gallery, slide show, slideshow, thumbnail, twitter, upload images, upload photos, video gallery, view images, view pictures, website gallery, widget, widget gallery, wordpress gallery, wordpress gallery plugin, wordpress photo gallery plugin, wordpress portfolio plugin, wordpress seo, wp gallery, wp gallery plugin, wp gallery plugins, wp slider
4
- Requires at least: 3.3
5
  Tested up to: 4.1
6
- Stable tag: 3.0.92
7
  License: GPLv3 or later
8
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
9
 
@@ -487,6 +487,16 @@ is False in shortcode.
487
 
488
  == Changelog ==
489
 
 
 
 
 
 
 
 
 
 
 
490
  = 3.0.92 =
491
 
492
  * Few Bugs Fixed
1
  === Gallery Bank - Responsive Photo Gallery ===
2
  Contributors: Gallery-Bank,contact-banker
3
  Tags: add album, add gallery, add picture, add pictures, admin, AJAX, album, banner rotator, best gallery, best gallery plugin, best image slider, best portfolio, bilder, comments, easy media gallery, fancy gallery, filterable gallery, filterable portfolio, foto, fotoalbum, fotogalerie, free photo gallery, fullscreen gallery, galary, galeri, galerie, galerij, galery, gallary, Galleria, gallerie, galleries, gallery, gallery decription, gallery image, gallery lightbox, Gallery Plugin, gallery shortcode, gallery slider, gelary, gellary, gellery, google, grid gallery, html5 player, html5 video, html5-audio, image, image album, image gallery, image gallery plugin, image lightbox, image rotate, image slider, image slideshow, images, images gallery, jquery, jquery gallery, jquery slider, jquery slideshow, lightbox, links, media, media gallery, multiple pictures, nextgen gallery, page, pagination gallery, pagination portfolio, photo, photo album, photo albums, photo gallery, Photo Slider, photoalbum, photogallery, photos, photoset, picture, pictures, plugin, plugin for gallery, plugin gallery, portfolio, portfolio gallery, portfolio plugin, Post, posts, responsive gallery, responsive image gallery, responsive slider, responsive slideshow, responsive wordpress photo gallery, seo, seo image, shortcode, sidebar, Simple gallery, slide show, slideshow, thumbnail, twitter, upload images, upload photos, video gallery, view images, view pictures, website gallery, widget, widget gallery, wordpress gallery, wordpress gallery plugin, wordpress photo gallery plugin, wordpress portfolio plugin, wordpress seo, wp gallery, wp gallery plugin, wp gallery plugins, wp slider
4
+ Requires at least: 3.4
5
  Tested up to: 4.1
6
+ Stable tag: 3.0.93
7
  License: GPLv3 or later
8
  License URI: http://www.gnu.org/licenses/gpl-3.0.html
9
 
487
 
488
  == Changelog ==
489
 
490
+ = 3.0.93 =
491
+
492
+ * Removed unwanted code
493
+ * New Uploader Introduced.
494
+ * New Layout Introduced for uploader.
495
+ * Thumbs View in Uploader.
496
+ * Add, Edit Gallery Layout changed.
497
+ * Updated JS files.
498
+ * Slovenian Language updated.
499
+
500
  = 3.0.92 =
501
 
502
  * Few Bugs Fixed
views/edit-album.php CHANGED
@@ -1,5 +1,4 @@
1
  <?php
2
-
3
  switch($gb_role)
4
  {
5
  case "administrator":
@@ -167,7 +166,7 @@
167
  </span>
168
  </div>
169
  <div class="fluid-layout">
170
- <div class="layout-span6">
171
  <div class="widget-layout">
172
  <div class="widget-layout-title">
173
  <h4><?php _e("Album Details", gallery_bank); ?></h4>
@@ -191,13 +190,15 @@
191
  <div class="layout-control-group">
192
  <?php
193
  $ux_content = stripslashes(htmlspecialchars_decode($album->description));
194
- wp_editor($ux_content, $id = "ux_edit_description", $media_buttons = true, $tab_index = 1);
195
  ?>
196
  </div>
197
  </div>
198
  </div>
199
- </div>
200
- <div class="layout-span6">
 
 
201
  <div class="widget-layout">
202
  <div class="widget-layout-title">
203
  <h4><?php _e("Upload Images", gallery_bank); ?></h4>
@@ -206,8 +207,8 @@
206
  <p><?php _e("Your browser doesn\"t have Flash, Silverlight or HTML5 support.", gallery_bank) ?></p>
207
  </div>
208
  </div>
209
- </div>
210
- <div class="layout-span6">
211
  <div class="widget-layout">
212
  <div class="widget-layout-title">
213
  <h4><?php _e("Upload Videos", gallery_bank); ?>
@@ -216,8 +217,8 @@
216
  </div>
217
  <div class="widget-layout-body" id="edit_video_uploader">
218
  <div class="layout-control-group">
219
- <label class="layout-control-label"><?php _e("Video Url", gallery_bank); ?> :</label>
220
- <div class="layout-controls">
221
  <input type="text" name="ux_edit_txt_video_url" class="layout-span12" value=""
222
  id="ux_edit_txt_video_url"
223
  placeholder="<?php _e("Enter your Video Url", gallery_bank); ?>"/>
@@ -243,7 +244,6 @@
243
  <table class="table table-striped " id="data-table-edit-album">
244
  <thead>
245
  <tr>
246
-
247
  <th style="width:11%">
248
  <input type="checkbox" id="grp_select_items" name="grp_select_items" style="vertical-align:middle;"/>
249
  <button type="button" onclick="deleteSelectedImages();" style="vertical-align:middle;"
@@ -524,13 +524,16 @@
524
  });
525
  }
526
  });
527
- jQuery("#edit_image_uploader").pluploadQueue
 
 
528
  ({
529
- runtimes: "html5,flash,silverlight,html4",
530
  url: ajaxurl + "?param=upload_pic&action=upload_library&_nonce=<?php echo $upload_photos;?>",
 
531
  chunk_size: "1mb",
532
  filters: {
533
- max_file_size: "100mb",
534
  mime_types: [
535
  {title: "Image files", extensions: "jpg,jpeg,gif,png"}
536
  ]
@@ -539,14 +542,13 @@
539
  sortable: true,
540
  dragdrop: true,
541
  unique_names: true,
542
- max_file_count: 20,
543
  views: {
544
  list: true,
545
  thumbs: true, // Show thumbs
546
  active: "thumbs"
547
  },
548
- flash_swf_url: url + "Moxie.swf",
549
- silverlight_xap_url: url + "Moxie.xap",
550
  init: {
551
  FileUploaded: function (up, file) {
552
 
@@ -590,6 +592,7 @@
590
  }
591
  }
592
  });
 
593
  function deleteImage(control) {
594
  var r = confirm("<?php _e("Are you sure you want to delete this Image?", gallery_bank)?>");
595
  if (r == true) {
1
  <?php
 
2
  switch($gb_role)
3
  {
4
  case "administrator":
166
  </span>
167
  </div>
168
  <div class="fluid-layout">
169
+ <div class="layout-span12">
170
  <div class="widget-layout">
171
  <div class="widget-layout-title">
172
  <h4><?php _e("Album Details", gallery_bank); ?></h4>
190
  <div class="layout-control-group">
191
  <?php
192
  $ux_content = stripslashes(htmlspecialchars_decode($album->description));
193
+ wp_editor($ux_content, $id = "ux_edit_description",array("media_buttons" => true,"textarea_rows" => 6, "tabindex" => 1));
194
  ?>
195
  </div>
196
  </div>
197
  </div>
198
+ </div>
199
+ </div>
200
+ <div class="fluid-layout">
201
+ <div class="layout-span7">
202
  <div class="widget-layout">
203
  <div class="widget-layout-title">
204
  <h4><?php _e("Upload Images", gallery_bank); ?></h4>
207
  <p><?php _e("Your browser doesn\"t have Flash, Silverlight or HTML5 support.", gallery_bank) ?></p>
208
  </div>
209
  </div>
210
+ </div>
211
+ <div class="layout-span5">
212
  <div class="widget-layout">
213
  <div class="widget-layout-title">
214
  <h4><?php _e("Upload Videos", gallery_bank); ?>
217
  </div>
218
  <div class="widget-layout-body" id="edit_video_uploader">
219
  <div class="layout-control-group">
220
+ <label class="layout-control-label custom_gallery_layout_label"><?php _e("Video Url", gallery_bank); ?> :</label>
221
+ <div class="layout-controls custom_gallery_layout_control">
222
  <input type="text" name="ux_edit_txt_video_url" class="layout-span12" value=""
223
  id="ux_edit_txt_video_url"
224
  placeholder="<?php _e("Enter your Video Url", gallery_bank); ?>"/>
244
  <table class="table table-striped " id="data-table-edit-album">
245
  <thead>
246
  <tr>
 
247
  <th style="width:11%">
248
  <input type="checkbox" id="grp_select_items" name="grp_select_items" style="vertical-align:middle;"/>
249
  <button type="button" onclick="deleteSelectedImages();" style="vertical-align:middle;"
524
  });
525
  }
526
  });
527
+ jQuery(document).ready(function()
528
+ {
529
+ jQuery("#edit_image_uploader").plupload
530
  ({
531
+ runtimes: "html5,html4,flash,silverlight",
532
  url: ajaxurl + "?param=upload_pic&action=upload_library&_nonce=<?php echo $upload_photos;?>",
533
+ max_file_count: 20,
534
  chunk_size: "1mb",
535
  filters: {
536
+ max_file_size: "1000mb",
537
  mime_types: [
538
  {title: "Image files", extensions: "jpg,jpeg,gif,png"}
539
  ]
542
  sortable: true,
543
  dragdrop: true,
544
  unique_names: true,
 
545
  views: {
546
  list: true,
547
  thumbs: true, // Show thumbs
548
  active: "thumbs"
549
  },
550
+ flash_swf_url: url + "plupload.flash.swf",
551
+ silverlight_xap_url: url + "plupload.silverlight.xap",
552
  init: {
553
  FileUploaded: function (up, file) {
554
 
592
  }
593
  }
594
  });
595
+ });
596
  function deleteImage(control) {
597
  var r = confirm("<?php _e("Are you sure you want to delete this Image?", gallery_bank)?>");
598
  if (r == true) {
views/header.php CHANGED
@@ -2,11 +2,11 @@
2
  $gb_lang = array();
3
  $gb_translated_lang = array();
4
 
5
- array_push($gb_lang, "bg_BG", "ko_KR", "ms_MY", "sl_SI", "sq_AL", "sr_RS");
6
 
7
  array_push($gb_translated_lang, "en_GB", "en_US", "es_ES", "nl_NL", "uk", "sv_SE", "fr_FR", "pt_PT", "pt_BR", "et", "it_IT",
8
  "de_DE", "fi", "he_IL", "ru_RU", "be_BY", "tr", "th", "ar", "hu_HU", "cs_CZ", "pl_PL", "da_DK", "sk_SK", "zh_CN", "id_ID", "el_GR",
9
- "hr", "nb", "ro_RO", "ja");
10
  $language = get_locale();
11
  ?>
12
  <div id="welcome-panel" class="welcome-panel" style="padding:0px !important;background-color: #f9f9f9 !important">
2
  $gb_lang = array();
3
  $gb_translated_lang = array();
4
 
5
+ array_push($gb_lang, "bg_BG", "ko_KR", "ms_MY", "sq_AL", "sr_RS");
6
 
7
  array_push($gb_translated_lang, "en_GB", "en_US", "es_ES", "nl_NL", "uk", "sv_SE", "fr_FR", "pt_PT", "pt_BR", "et", "it_IT",
8
  "de_DE", "fi", "he_IL", "ru_RU", "be_BY", "tr", "th", "ar", "hu_HU", "cs_CZ", "pl_PL", "da_DK", "sk_SK", "zh_CN", "id_ID", "el_GR",
9
+ "hr", "nb", "ro_RO", "ja", "sl_SI");
10
  $language = get_locale();
11
  ?>
12
  <div id="welcome-panel" class="welcome-panel" style="padding:0px !important;background-color: #f9f9f9 !important">
views/shortcode.php CHANGED
@@ -1,5 +1,4 @@
1
- <?php
2
-
3
  switch($gb_role)
4
  {
5
  case "administrator":
@@ -49,6 +48,6 @@ else
49
  </div>
50
  </div>
51
  </form>
52
- <?php
53
  }
54
  ?>
1
+ <?php
 
2
  switch($gb_role)
3
  {
4
  case "administrator":
48
  </div>
49
  </div>
50
  </form>
51
+ <?php
52
  }
53
  ?>