speedo 0.2.0 → 0.2.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. data/app/assets/javascripts/speedo.js +1 -2
  2. data/app/assets/javascripts/swim.js.coffee +34 -61
  3. data/app/assets/stylesheets/application.css.scss +1 -1
  4. data/app/assets/stylesheets/speedo/base.css.scss +72 -0
  5. data/app/assets/stylesheets/speedo/helpers.css.scss +34 -0
  6. data/app/assets/stylesheets/speedo/layout.css.scss +220 -0
  7. data/app/assets/stylesheets/speedo/plugins.css.scss +110 -0
  8. data/app/assets/stylesheets/speedo/speedo.css.scss +35 -0
  9. data/app/assets/stylesheets/speedo/theme.css.scss +62 -0
  10. data/app/views/layouts/speedo/application.html.haml +4 -1
  11. data/app/views/speedo/home/examples.html.haml +59 -34
  12. data/lib/generators/speedo/install_generator.rb +6 -3
  13. data/lib/speedo/version.rb +1 -1
  14. data/vendor/assets/javascripts/speedo/bootstrap.js +1825 -0
  15. data/vendor/assets/stylesheets/speedo/bootstrap/glyphicons-halflings-white.png +0 -0
  16. data/vendor/assets/stylesheets/speedo/bootstrap/glyphicons-halflings.png +0 -0
  17. data/vendor/assets/stylesheets/speedo/bootstrap-responsive.css +815 -0
  18. data/vendor/assets/stylesheets/speedo/bootstrap.css +4983 -0
  19. data/vendor/assets/stylesheets/speedo/chosen.css +19 -19
  20. data/vendor/assets/stylesheets/speedo/jquery-ui-1.8.18.custom.css +17 -17
  21. data/vendor/assets/stylesheets/speedo/jquery.dataTables.css +11 -11
  22. data/vendor/assets/stylesheets/speedo/uniform.default.css +4 -4
  23. metadata +32 -67
  24. data/app/assets/stylesheets/speedo.css.scss +0 -596
  25. data/vendor/assets/javascripts/speedo/jquery.mousewheel-3.0.4.pack.js +0 -14
  26. data/vendor/assets/javascripts/speedo/jquery.tools.min.js +0 -35
  27. data/vendor/assets/stylesheets/speedo/gh-buttons.css +0 -393
  28. data/vendor/assets/stylesheets/speedo/gh-icons.png +0 -0
  29. data/vendor/assets/stylesheets/speedo/normalize.css +0 -504
@@ -1,596 +0,0 @@
1
- @import "normalize";
2
- @import "formtastic-buttonless";
3
- @import "autoSuggest";
4
- @import "chosen";
5
- @import "gh-buttons";
6
- @import "jquery.dataTables";
7
- @import "jquery-ui-1.8.18.custom";
8
- @import "uniform.default";
9
- @import "bourbon";
10
-
11
-
12
- /* Set colors here */
13
- $bg: #ddd; /* Background color (if not in web-app mode) */
14
- $text: #333; /* Standard text color */
15
- $link: #0090d5;
16
- $hover: #17639b;
17
- /* Pastels */
18
- $bggreen: #e3fde4;
19
- $bgblue: #bcf;
20
- $bgyellow:#ffc;
21
- $bgred: #f99;
22
- /* Column background colors */
23
- $maincolbg: #fff;
24
- $leftcolbg: #f6f6f6;
25
- $rightcolbg: #fafafa;
26
-
27
-
28
-
29
- /* See the bottom half of this file for layout options */
30
-
31
-
32
-
33
- /* Base Styles - Set HTML element styles here */
34
- body {
35
- color: $text;
36
- background: $bg;
37
- font-size:12px;
38
- line-height:1.231;
39
- }
40
- a, a:visited:not(.button), .link {
41
- color: $link;
42
- text-decoration: none;
43
- cursor:pointer;
44
- }
45
- a:hover, .link:hover {
46
- color: $hover;
47
- }
48
- ul, ol {
49
- margin: 0;
50
- padding: 0;
51
- li {
52
- list-style: none;
53
- }
54
- }
55
- h1,h3,h5 {
56
- font-weight:normal;
57
- font-weight:200;
58
- }
59
- h2,h4,h6{
60
- font-weight:normal;
61
- }
62
-
63
- input:not(.button), textarea {
64
- border:1px solid #999;
65
- @include border-radius(3px);
66
- padding:5px;
67
- @include box-shadow(inset 0 1px 1px rgba(0,0,0,0.2));
68
- &:focus {
69
- border-color:#acd;
70
- @include box-shadow(0 0 3px rgba(150,180,230,1));
71
- }
72
- }
73
-
74
-
75
-
76
-
77
- /* Basic styles */
78
- .no-js body {
79
- margin-top:30px;
80
- }
81
- #noscript_warning {
82
- position: fixed;
83
- top: 0;
84
- left: 0;
85
- width: 100%;
86
- padding: 5px 0 6px;
87
- text-align: center;
88
- font-size: 120%;
89
- font-weight: bold;
90
- color: #fff;
91
- background:#AE0000;
92
- z-index: 101;
93
- }
94
- .branding {
95
- padding:5px 0;
96
- background:#eee;
97
- .logo {
98
- float: left;
99
- margin-left:2%;
100
- img {
101
- display:block;
102
- height: 40px;
103
- }
104
- }
105
- .user {
106
- float:right;
107
- margin:10px 2% 0;
108
- a {
109
- }
110
- .user-name {
111
- }
112
- .user-logout {
113
- }
114
- }
115
- }
116
- .main_nav {
117
- padding:5px 0;
118
- background:#eee;
119
- .search {
120
- margin-right:10px;
121
- }
122
- .home {
123
- margin-left:10px;
124
- }
125
- a {
126
- display:inline-block; zoom:1;*display:inline;
127
- padding:0.2em 0.5em;
128
- background:#ccc;
129
- @include border-radius(0.3em);
130
- &:hover {
131
- background:#ddd;
132
- }
133
- &.active {
134
- @include box-shadow(inset 0 1px 2px rgba(0,0,0,0.5));
135
- }
136
- }
137
- }
138
- .flash {
139
- padding:0.5em 2em;
140
- font-size:1.5em;
141
- text-align:center;
142
- text-shadow:-1px -1px 1px #FFFFFF, 1px 1px 1px rgba(0, 0, 0, 0.3);
143
- &.success {
144
- background:$bggreen;
145
- color:#090;
146
- }
147
- &.notice {
148
- background:$bgblue;
149
- color:#009;
150
- }
151
- &.alert {
152
- background:$bgyellow;
153
- color:#770;
154
- }
155
- &.error {
156
- background:$bgred;
157
- color:#900;
158
- }
159
- }
160
- .tooltip {
161
- width:15em;
162
- border:1px solid #000;
163
- padding:1em;
164
- @include border-radius(0.5em);
165
- @include box-shadow(0 0 10px rgba(0,0,0,0.5));
166
- @include linear-gradient(#333, #999);
167
- text-shadow:1px 1px 1px #000000;
168
- color:#fff;
169
- &:before, &:after {
170
- content:".";
171
- display:block;
172
- height:0;
173
- width:0;
174
- overflow:hidden;
175
- position:absolute;
176
- bottom:-6px;
177
- left:50%;
178
- margin-left:-5px;
179
- border-style:solid;
180
- border-width:5px 5px 0;
181
- border-color:#000 transparent;
182
- color:transparent;
183
- }
184
- &:after {
185
- bottom:-5px;
186
- border-color:#999 transparent;
187
- }
188
- &.bottom {
189
- &:before, &:after {
190
- bottom:auto;
191
- border-width:0 5px 5px;
192
- }
193
- &:before {
194
- top:-6px;
195
- }
196
- &:after {
197
- top:-5px;
198
- border-color:#333 transparent;
199
- }
200
- }
201
- }
202
- footer {
203
- position:relative;
204
- margin:-1.8em 10px 0 0; /* So it appears at the bottom of the right column and is not lost in web-app mode */
205
- float: right;
206
- font-size: 0.8em;
207
- opacity:0.5;
208
- }
209
-
210
-
211
-
212
- /* Plugin fixes */
213
- .dataTables_wrapper {
214
- @include clearfix;
215
- }
216
- div.uni-selector, div.uni-uploader {
217
- margin-left:-2px; /* Left aligns the uniform masks, but be careful if they're inline */
218
- }
219
- .formtastic textarea {
220
- padding:5px;
221
- }
222
- .inline_choices .choice {
223
- display:inline-block; zoom:1;*display:inline;
224
- vertical-align:top;
225
- margin-right:1em;
226
- }
227
- ul.as-selections {
228
- width:72%; // To match the formtastic input widths
229
- border:1px solid #999;
230
- @include border-radius(3px);
231
- padding:5px;
232
- @include box-shadow(inset 0 1px 1px rgba(0,0,0,0.2));
233
- li.as-original input {
234
- @include box-shadow(none);
235
- color:#999; /* For the placeholder colour */
236
- &:focus {color:inherit;}
237
- }
238
- }
239
- .as-results {
240
- position:absolute;
241
- left:25%; // To match the formtastic label width
242
- }
243
- .button-group, .button {
244
- vertical-align:top;
245
- }
246
- .formtastic input.button {
247
- padding:0.5em 1em; // Formtastic sets input padding to 0
248
- }
249
-
250
- .popup_content {
251
- display:none;
252
- position:relative;
253
- min-width:320px;
254
- max-width:600px;
255
- padding:1em;
256
- border:1px solid #666;
257
- @include border-radius(1em);
258
- @include box-shadow(0 0 5em #666);
259
- background:#fff;
260
- z-index:10000;
261
- .close:first-child {
262
- position:absolute;
263
- top:-10px;
264
- right:-10px;
265
- &:hover {
266
- background:none;
267
- }
268
- &:after {
269
- content:"x";
270
- display:block;
271
- width:20px;
272
- height:20px;
273
- border:2px solid #FFFFFF;
274
- @include border-radius(1em);
275
- @include box-shadow(0 0 3px #000);
276
- font-size:21px;
277
- font-family:sans-serif;
278
- line-height:20px;
279
- text-align:center;
280
- color:#FFFFFF;
281
- background:#000000;
282
- }
283
- }
284
- .title {
285
- margin-top:0;
286
- border:1px solid #333;
287
- @include border-radius(3px);
288
- padding:5px 10px;
289
- @include box-shadow(0 1px 3px rgba(0,0,0,0.5));
290
- @include linear-gradient(#355b92, #274674);
291
- color:#fff;
292
- }
293
- .wrap {
294
- width:600px;
295
- overflow:auto;
296
- }
297
- }
298
-
299
-
300
-
301
- /* =============================================================================
302
- Non-semantic helper classes
303
- ========================================================================== */
304
-
305
- /* For image replacement */
306
- .ir { display: block; text-indent: -999em; overflow: hidden; background-repeat: no-repeat; text-align: left; direction: ltr; }
307
- .ir br { display: none; }
308
-
309
- /* Hide for both screenreaders and browsers:
310
- css-discuss.incutio.com/wiki/Screenreader_Visibility */
311
- .hidden { display: none !important; visibility: hidden !important; }
312
-
313
- /* Hide only visually, but have it available for screenreaders: by Jon Neal.
314
- www.webaim.org/techniques/css/invisiblecontent/ & j.mp/visuallyhidden */
315
- .visuallyhidden { border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; }
316
-
317
- /* Extends the .visuallyhidden class to allow the element to be focusable when navigated to via the keyboard: drupal.org/node/897638 */
318
- .visuallyhidden.focusable:active, .visuallyhidden.focusable:focus { clip: auto; height: auto; margin: 0; overflow: visible; position: static; width: auto; }
319
-
320
- /* Hide visually and from screenreaders, but maintain layout */
321
- .invisible { visibility: hidden; }
322
-
323
- /* Contain floats: nicolasgallagher.com/micro-clearfix-hack/ */
324
- .clearfix:before, .clearfix:after { content: ""; display: table; }
325
- .clearfix:after { clear: both; }
326
- .clearfix { *zoom: 1; }
327
-
328
- /* Float and clear */
329
- .left { float: left; }
330
- .right { float: right; }
331
- .clear { clear: both; }
332
-
333
- /* Inline-block */
334
- .ib { display:inline-block; *zoom:1; *display:inline; }
335
-
336
-
337
-
338
- /* =============================================================================
339
- Print styles.
340
- Inlined to avoid required HTTP connection: www.phpied.com/delay-loading-your-print-css/
341
- ========================================================================== */
342
-
343
- @media print {
344
- * { background: transparent !important; color: black !important; text-shadow: none !important; filter:none !important; -ms-filter: none !important; } /* Black prints faster: sanbeiji.com/archives/953 */
345
- a, a:visited { color: #444 !important; text-decoration: underline; }
346
- a[href]:after { content: " (" attr(href) ")"; }
347
- abbr[title]:after { content: " (" attr(title) ")"; }
348
- .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; } /* Don't show links for images, or javascript/internal links */
349
- pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }
350
- thead { display: table-header-group; } /* css-discuss.incutio.com/wiki/Printing_Tables */
351
- tr, img { page-break-inside: avoid; }
352
- img { max-width: 100% !important; }
353
- @page { margin: 0.5cm; }
354
- p, h2, h3 { orphans: 3; widows: 3; }
355
- h2, h3{ page-break-after: avoid; }
356
- }
357
-
358
-
359
-
360
-
361
-
362
-
363
-
364
-
365
-
366
-
367
-
368
-
369
-
370
-
371
-
372
-
373
-
374
-
375
-
376
-
377
- /*
378
- Column Layout
379
- =============
380
- This layout is designed for mobile-first, so that the 'side' columns go below the main
381
- content on narrower screen-widths.
382
-
383
- IMPORTANT: Most of the styles that will be seen by the typical browser (i.e. the 960 design)
384
- are in the @media queries below.
385
-
386
- Set the column background colours using the variables (top of file) for consistent
387
- column colouration.
388
- */
389
-
390
- #wrapper {
391
- max-width: 960px; /* Set the width of the page here */
392
- padding:0;
393
- margin: 0 auto 20px;
394
- @include border-bottom-radius(3px);
395
- @include box-shadow(0 2px 2px rgba(0,0,0,0.5));
396
- }
397
-
398
- /* Layout for mobile < 480px width screens (see below for media queries) */
399
- .colmask {
400
- position:relative; /* This fixes the IE7 overflow hidden bug */
401
- clear:both;
402
- float:left;
403
- width:100%; /* width of whole page */
404
- @include border-radius(0 0 3px 3px);
405
- background:#fff;
406
- overflow:hidden; /* This chops off any overhanging divs, including the leftcol bg */
407
- }
408
- .colright,.colmid,.colleft {
409
- float:left;
410
- width:100%;
411
- position:relative;
412
- }
413
- .col1,.col2,.col3 {
414
- float:left;
415
- position:relative;
416
- padding:0 0 5em;
417
- }
418
- .onecol { /* Full page settings */
419
- background:$maincolbg; /* page background colour */
420
- .col1 {
421
- width:96%; /* page width minus left and right padding */
422
- left:2%; /* page left padding */
423
- }
424
- }
425
- .threecol, .leftcol, .rightcol {
426
- background:$maincolbg; /* main column background colour */
427
- .col1, .col2, .col3 {
428
- width:100%; /* page width minus left and right padding */
429
- padding:0 2% 50px; /* page left padding */
430
- }
431
- .col2 {background:$leftcolbg;} /* left column background colour */
432
- .col3 {background:$rightcolbg;} /* right column background colour */
433
- }
434
- .rightcol .col2, .leftcol .col3, .onecol .col2, .onecol .col3 { display:none; }
435
-
436
-
437
- /* Media Queries for Responsive Design. These override the primary ('mobile first') styles */
438
-
439
- @media only screen and (min-width: 480px) {
440
- /* Style adjustments for viewports 480px and over go here */
441
- /* 2 Column (double page) settings */
442
- .threecol {
443
- .col2 {
444
- width:46%; /* left column content width (column width minus left and right padding) */
445
- left:0%; /* right column width plus left column left padding */
446
- }
447
- .col3 {
448
- width:46%; /* right column content width (column width minus left and right padding) */
449
- left:0%; /* (right column width) plus (left column left and right padding) plus (right column left padding) */
450
- }
451
- }
452
- }
453
-
454
- @media only screen and (min-width: 768px) {
455
- /* Style adjustments for viewports 768px and over (most desktop browsers) go here */
456
- .colmask {
457
- .col1, .col2, .col3 {
458
- padding:0 0 5em;
459
- background:transparent
460
- }
461
- }
462
- .col1 { min-height:400px; }
463
- .leftcol { /* 2 Column (left menu) settings */
464
- background:$maincolbg; /* right column background colour */
465
- .colleft {
466
- right:75%; /* right column width */
467
- background:$leftcolbg; /* left column background colour */
468
- @include box-shadow(inset -1px 0 0 #ccc); /* 0 spread so it isn't visible at the top and bottom */
469
- }
470
- .col1 {
471
- width:71%; /* right column content width */
472
- left:102%; /* 100% plus left column left padding */
473
- }
474
- .col2 {
475
- width:21%; /* left column content width (column width minus left and right padding) */
476
- left:6%; /* (right column left and right padding) plus (left column left padding) */
477
- }
478
- .col3 {
479
- display:none;
480
- }
481
- }
482
- .rightcol { /* 2 Column (right menu) settings */
483
- background:$rightcolbg; /* right column background colour */
484
- .colleft {
485
- right:25%; /* right column width */
486
- background:$maincolbg; /* left column background colour */
487
- @include box-shadow(inset -1px 0 0 #ccc); /* 0 spread so it isn't visible at the top and bottom */
488
- }
489
- .col1 {
490
- width:71%; /* left column content width (left column width minus left and right padding) */
491
- left:27%; /* (right column width) plus (left column left padding) */
492
- }
493
- .col2 {
494
- display:none;
495
- }
496
- .col3 {
497
- width:21%; /* right column content width (right column width minus left and right padding) */
498
- left:31%; /* (right column width) plus (left column left and right padding) plus (right column left padding) */
499
- }
500
- }
501
- .threecol { /* 3 Column settings */
502
- background:$rightcolbg; /* right column background colour */
503
- .colmid {
504
- right:25%; /* width of the right column */
505
- background:$maincolbg; /* left column background colour */
506
- @include box-shadow(1px 0 0 #ccc); /* Use box-shadow for 'borders' so the layout isn't affected */
507
- }
508
- .colleft {
509
- right:50%; /* width of the middle column */
510
- background:$leftcolbg; /* left column background colour */
511
- @include box-shadow(inset -1px 0 0 #ccc); /* 0 spread so it isn't visible at the top and bottom */
512
- }
513
- .col1 {
514
- width:46%; /* width of center column content (column width minus padding on either side) */
515
- left:102%; /* 100% plus left padding of center column */
516
- }
517
- .col2 {
518
- width:21%; /* Width of left column content (column width minus padding on either side) */
519
- left:31%; /* width of (right column) plus (center column left and right padding) plus (left column left padding) */
520
- }
521
- .col3 {
522
- width:21%; /* Width of right column content (column width minus padding on either side) */
523
- left:85%; /* Please make note of the brackets here:
524
- (100% - left column width) plus (center column left and right padding) plus (left column left and right padding) plus (right column left padding) */
525
- }
526
- }
527
- }
528
-
529
-
530
-
531
- /* Below are three options for variations on theming:
532
- 1. Web-app mode: Full-width, full-height page that doesn't scroll (the columns scroll instead) - also requires JS
533
- 2. Full-width page, fixed-position header, with scrolling content
534
- 3. Fixed-position header, with scrolling content (2 sections of CSS to uncomment)
535
- */
536
-
537
-
538
-
539
- @media only screen and (min-width: 768px) {
540
- /* For Web-app mode, uncomment this (and the JS in home.coffee) * /
541
- #wrapper {
542
- max-width: 100%;
543
- width:100%;
544
- margin:0;
545
- padding:0;
546
- }
547
- .col1,.col2,.col3 {
548
- overflow-y:auto;
549
- }
550
- /* */
551
-
552
- /* For full-width fixed header+nav, uncomment this * /
553
- #wrapper {
554
- max-width: 100%;
555
- width:100%;
556
- margin:0;
557
- padding:0;
558
- }
559
- .branding, .main_nav {
560
- position:fixed;
561
- width:100%;
562
- top:0;
563
- margin:0 auto;
564
- z-index:1000;
565
- }
566
- .main_nav {
567
- top:50px; // Height of .branding
568
- }
569
- .col1,.col2,.col3 {
570
- margin-top:83px; // Height of .branding + .main_nav
571
- }
572
- /* */
573
-
574
- /* For fixed header+nav, uncomment this (and 963 CSS below) * /
575
- .branding, .main_nav {
576
- position:fixed;
577
- width:964px;
578
- top:0;
579
- margin:0 auto;
580
- z-index:1000;
581
- }
582
- .main_nav {
583
- top:50px; // Height of .branding
584
- }
585
- .col1,.col2,.col3 {
586
- margin-top:83px; // Height of .branding + .main_nav
587
- }
588
- /* */
589
- }
590
- @media only screen and (max-width: 963px) {
591
- /* For fixed header+nav, uncomment this (and above) * /
592
- .branding, .main_nav {
593
- width:100%;
594
- }
595
- /* */
596
- }
@@ -1,14 +0,0 @@
1
- /*! Copyright (c) 2010 Brandon Aaron (http://brandonaaron.net)
2
- * Licensed under the MIT License (LICENSE.txt).
3
- *
4
- * Thanks to: http://adomas.org/javascript-mouse-wheel/ for some pointers.
5
- * Thanks to: Mathias Bank(http://www.mathias-bank.de) for a scope bug fix.
6
- * Thanks to: Seamus Leahy for adding deltaX and deltaY
7
- *
8
- * Version: 3.0.4
9
- *
10
- * Requires: 1.2.2+
11
- */
12
-
13
- (function(d){function g(a){var b=a||window.event,i=[].slice.call(arguments,1),c=0,h=0,e=0;a=d.event.fix(b);a.type="mousewheel";if(a.wheelDelta)c=a.wheelDelta/120;if(a.detail)c=-a.detail/3;e=c;if(b.axis!==undefined&&b.axis===b.HORIZONTAL_AXIS){e=0;h=-1*c}if(b.wheelDeltaY!==undefined)e=b.wheelDeltaY/120;if(b.wheelDeltaX!==undefined)h=-1*b.wheelDeltaX/120;i.unshift(a,c,h,e);return d.event.handle.apply(this,i)}var f=["DOMMouseScroll","mousewheel"];d.event.special.mousewheel={setup:function(){if(this.addEventListener)for(var a=
14
- f.length;a;)this.addEventListener(f[--a],g,false);else this.onmousewheel=g},teardown:function(){if(this.removeEventListener)for(var a=f.length;a;)this.removeEventListener(f[--a],g,false);else this.onmousewheel=null}};d.fn.extend({mousewheel:function(a){return a?this.bind("mousewheel",a):this.trigger("mousewheel")},unmousewheel:function(a){return this.unbind("mousewheel",a)}})})(jQuery);
@@ -1,35 +0,0 @@
1
- /*!
2
- * jQuery Tools v1.2.7 - The missing UI library for the Web
3
- *
4
- * overlay/overlay.js
5
- * overlay/overlay.apple.js
6
- * toolbox/toolbox.expose.js
7
- * toolbox/toolbox.flashembed.js
8
- * toolbox/toolbox.history.js
9
- * toolbox/toolbox.mousewheel.js
10
- * tooltip/tooltip.js
11
- * tooltip/tooltip.dynamic.js
12
- * tooltip/tooltip.slide.js
13
- *
14
- * NO COPYRIGHTS OR LICENSES. DO WHAT YOU LIKE.
15
- *
16
- * http://flowplayer.org/tools/
17
- *
18
- * jquery.event.wheel.js - rev 1
19
- * Copyright (c) 2008, Three Dub Media (http://threedubmedia.com)
20
- * Liscensed under the MIT License (MIT-LICENSE.txt)
21
- * http://www.opensource.org/licenses/mit-license.php
22
- * Created: 2008-07-01 | Updated: 2008-07-14
23
- *
24
- * -----
25
- *
26
- */
27
- (function(a){a.tools=a.tools||{version:"v1.2.7"},a.tools.overlay={addEffect:function(a,b,d){c[a]=[b,d]},conf:{close:null,closeOnClick:!0,closeOnEsc:!0,closeSpeed:"fast",effect:"default",fixed:!a.browser.msie||a.browser.version>6,left:"center",load:!1,mask:null,oneInstance:!0,speed:"normal",target:null,top:"10%"}};var b=[],c={};a.tools.overlay.addEffect("default",function(b,c){var d=this.getConf(),e=a(window);d.fixed||(b.top+=e.scrollTop(),b.left+=e.scrollLeft()),b.position=d.fixed?"fixed":"absolute",this.getOverlay().css(b).fadeIn(d.speed,c)},function(a){this.getOverlay().fadeOut(this.getConf().closeSpeed,a)});function d(d,e){var f=this,g=d.add(f),h=a(window),i,j,k,l=a.tools.expose&&(e.mask||e.expose),m=Math.random().toString().slice(10);l&&(typeof l=="string"&&(l={color:l}),l.closeOnClick=l.closeOnEsc=!1);var n=e.target||d.attr("rel");j=n?a(n):null||d;if(!j.length)throw"Could not find Overlay: "+n;d&&d.index(j)==-1&&d.click(function(a){f.load(a);return a.preventDefault()}),a.extend(f,{load:function(d){if(f.isOpened())return f;var i=c[e.effect];if(!i)throw"Overlay: cannot find effect : \""+e.effect+"\"";e.oneInstance&&a.each(b,function(){this.close(d)}),d=d||a.Event(),d.type="onBeforeLoad",g.trigger(d);if(d.isDefaultPrevented())return f;k=!0,l&&a(j).expose(l);var n=e.top,o=e.left,p=j.outerWidth({margin:!0}),q=j.outerHeight({margin:!0});typeof n=="string"&&(n=n=="center"?Math.max((h.height()-q)/2,0):parseInt(n,10)/100*h.height()),o=="center"&&(o=Math.max((h.width()-p)/2,0)),i[0].call(f,{top:n,left:o},function(){k&&(d.type="onLoad",g.trigger(d))}),l&&e.closeOnClick&&a.mask.getMask().one("click",f.close),e.closeOnClick&&a(document).on("click."+m,function(b){a(b.target).parents(j).length||f.close(b)}),e.closeOnEsc&&a(document).on("keydown."+m,function(a){a.keyCode==27&&f.close(a)});return f},close:function(b){if(!f.isOpened())return f;b=b||a.Event(),b.type="onBeforeClose",g.trigger(b);if(!b.isDefaultPrevented()){k=!1,c[e.effect][1].call(f,function(){b.type="onClose",g.trigger(b)}),a(document).off("click."+m+" keydown."+m),l&&a.mask.close();return f}},getOverlay:function(){return j},getTrigger:function(){return d},getClosers:function(){return i},isOpened:function(){return k},getConf:function(){return e}}),a.each("onBeforeLoad,onStart,onLoad,onBeforeClose,onClose".split(","),function(b,c){a.isFunction(e[c])&&a(f).on(c,e[c]),f[c]=function(b){b&&a(f).on(c,b);return f}}),i=j.find(e.close||".close"),!i.length&&!e.close&&(i=a("<a class=\"close\"></a>"),j.prepend(i)),i.click(function(a){f.close(a)}),e.load&&f.load()}a.fn.overlay=function(c){var e=this.data("overlay");if(e)return e;a.isFunction(c)&&(c={onBeforeLoad:c}),c=a.extend(!0,{},a.tools.overlay.conf,c),this.each(function(){e=new d(a(this),c),b.push(e),a(this).data("overlay",e)});return c.api?e:this}})(jQuery);
28
- (function(a){var b=a.tools.overlay,c=a(window);a.extend(b.conf,{start:{top:null,left:null},fadeInSpeed:"fast",zIndex:9999});function d(a){var b=a.offset();return{top:b.top+a.height()/2,left:b.left+a.width()/2}}var e=function(b,e){var f=this.getOverlay(),g=this.getConf(),h=this.getTrigger(),i=this,j=f.outerWidth({margin:!0}),k=f.data("img"),l=g.fixed?"fixed":"absolute";if(!k){var m=f.css("backgroundImage");if(!m)throw"background-image CSS property not set for overlay";m=m.slice(m.indexOf("(")+1,m.indexOf(")")).replace(/\"/g,""),f.css("backgroundImage","none"),k=a("<img src=\""+m+"\"/>"),k.css({border:0,display:"none"}).width(j),a("body").append(k),f.data("img",k)}var n=g.start.top||Math.round(c.height()/2),o=g.start.left||Math.round(c.width()/2);if(h){var p=d(h);n=p.top,o=p.left}g.fixed?(n-=c.scrollTop(),o-=c.scrollLeft()):(b.top+=c.scrollTop(),b.left+=c.scrollLeft()),k.css({position:"absolute",top:n,left:o,width:0,zIndex:g.zIndex}).show(),b.position=l,f.css(b),k.animate({top:b.top,left:b.left,width:j},g.speed,function(){f.css("zIndex",g.zIndex+1).fadeIn(g.fadeInSpeed,function(){i.isOpened()&&!a(this).index(f)?e.call():f.hide()})}).css("position",l)},f=function(b){var e=this.getOverlay().hide(),f=this.getConf(),g=this.getTrigger(),h=e.data("img"),i={top:f.start.top,left:f.start.left,width:0};g&&a.extend(i,d(g)),f.fixed&&h.css({position:"absolute"}).animate({top:"+="+c.scrollTop(),left:"+="+c.scrollLeft()},0),h.animate(i,f.closeSpeed,b)};b.addEffect("apple",e,f)})(jQuery);
29
- (function(a){a.tools=a.tools||{version:"v1.2.7"};var b;b=a.tools.expose={conf:{maskId:"exposeMask",loadSpeed:"slow",closeSpeed:"fast",closeOnClick:!0,closeOnEsc:!0,zIndex:9998,opacity:.8,startOpacity:0,color:"#fff",onLoad:null,onClose:null}};function c(){if(a.browser.msie){var b=a(document).height(),c=a(window).height();return[window.innerWidth||document.documentElement.clientWidth||document.body.clientWidth,b-c<20?c:b]}return[a(document).width(),a(document).height()]}function d(b){if(b)return b.call(a.mask)}var e,f,g,h,i;a.mask={load:function(j,k){if(g)return this;typeof j=="string"&&(j={color:j}),j=j||h,h=j=a.extend(a.extend({},b.conf),j),e=a("#"+j.maskId),e.length||(e=a("<div/>").attr("id",j.maskId),a("body").append(e));var l=c();e.css({position:"absolute",top:0,left:0,width:l[0],height:l[1],display:"none",opacity:j.startOpacity,zIndex:j.zIndex}),j.color&&e.css("backgroundColor",j.color);if(d(j.onBeforeLoad)===!1)return this;j.closeOnEsc&&a(document).on("keydown.mask",function(b){b.keyCode==27&&a.mask.close(b)}),j.closeOnClick&&e.on("click.mask",function(b){a.mask.close(b)}),a(window).on("resize.mask",function(){a.mask.fit()}),k&&k.length&&(i=k.eq(0).css("zIndex"),a.each(k,function(){var b=a(this);/relative|absolute|fixed/i.test(b.css("position"))||b.css("position","relative")}),f=k.css({zIndex:Math.max(j.zIndex+1,i=="auto"?0:i)})),e.css({display:"block"}).fadeTo(j.loadSpeed,j.opacity,function(){a.mask.fit(),d(j.onLoad),g="full"}),g=!0;return this},close:function(){if(g){if(d(h.onBeforeClose)===!1)return this;e.fadeOut(h.closeSpeed,function(){d(h.onClose),f&&f.css({zIndex:i}),g=!1}),a(document).off("keydown.mask"),e.off("click.mask"),a(window).off("resize.mask")}return this},fit:function(){if(g){var a=c();e.css({width:a[0],height:a[1]})}},getMask:function(){return e},isLoaded:function(a){return a?g=="full":g},getConf:function(){return h},getExposed:function(){return f}},a.fn.mask=function(b){a.mask.load(b);return this},a.fn.expose=function(b){a.mask.load(b,this);return this}})(jQuery);
30
- (function(){var a=document.all,b="http://www.adobe.com/go/getflashplayer",c=typeof jQuery=="function",d=/(\d+)[^\d]+(\d+)[^\d]*(\d*)/,e={width:"100%",height:"100%",id:"_"+(""+Math.random()).slice(9),allowfullscreen:!0,allowscriptaccess:"always",quality:"high",version:[3,0],onFail:null,expressInstall:null,w3c:!1,cachebusting:!1};window.attachEvent&&window.attachEvent("onbeforeunload",function(){__flash_unloadHandler=function(){},__flash_savedUnloadHandler=function(){}});function f(a,b){if(b)for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c]);return a}function g(a,b){var c=[];for(var d in a)a.hasOwnProperty(d)&&(c[d]=b(a[d]));return c}window.flashembed=function(a,b,c){typeof a=="string"&&(a=document.getElementById(a.replace("#","")));if(a){typeof b=="string"&&(b={src:b});return new j(a,f(f({},e),b),c)}};var h=f(window.flashembed,{conf:e,getVersion:function(){var a,b;try{b=navigator.plugins["Shockwave Flash"].description.slice(16)}catch(c){try{a=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7"),b=a&&a.GetVariable("$version")}catch(e){try{a=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6"),b=a&&a.GetVariable("$version")}catch(f){}}}b=d.exec(b);return b?[b[1],b[3]]:[0,0]},asString:function(a){if(a===null||a===undefined)return null;var b=typeof a;b=="object"&&a.push&&(b="array");switch(b){case"string":a=a.replace(new RegExp("([\"\\\\])","g"),"\\$1"),a=a.replace(/^\s?(\d+\.?\d*)%/,"$1pct");return"\""+a+"\"";case"array":return"["+g(a,function(a){return h.asString(a)}).join(",")+"]";case"function":return"\"function()\"";case"object":var c=[];for(var d in a)a.hasOwnProperty(d)&&c.push("\""+d+"\":"+h.asString(a[d]));return"{"+c.join(",")+"}"}return String(a).replace(/\s/g," ").replace(/\'/g,"\"")},getHTML:function(b,c){b=f({},b);var d="<object width=\""+b.width+"\" height=\""+b.height+"\" id=\""+b.id+"\" name=\""+b.id+"\"";b.cachebusting&&(b.src+=(b.src.indexOf("?")!=-1?"&":"?")+Math.random()),b.w3c||!a?d+=" data=\""+b.src+"\" type=\"application/x-shockwave-flash\"":d+=" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\"",d+=">";if(b.w3c||a)d+="<param name=\"movie\" value=\""+b.src+"\" />";b.width=b.height=b.id=b.w3c=b.src=null,b.onFail=b.version=b.expressInstall=null;for(var e in b)b[e]&&(d+="<param name=\""+e+"\" value=\""+b[e]+"\" />");var g="";if(c){for(var i in c)if(c[i]){var j=c[i];g+=i+"="+encodeURIComponent(/function|object/.test(typeof j)?h.asString(j):j)+"&"}g=g.slice(0,-1),d+="<param name=\"flashvars\" value='"+g+"' />"}d+="</object>";return d},isSupported:function(a){return i[0]>a[0]||i[0]==a[0]&&i[1]>=a[1]}}),i=h.getVersion();function j(c,d,e){if(h.isSupported(d.version))c.innerHTML=h.getHTML(d,e);else if(d.expressInstall&&h.isSupported([6,65]))c.innerHTML=h.getHTML(f(d,{src:d.expressInstall}),{MMredirectURL:location.href,MMplayerType:"PlugIn",MMdoctitle:document.title});else{c.innerHTML.replace(/\s/g,"")||(c.innerHTML="<h2>Flash version "+d.version+" or greater is required</h2><h3>"+(i[0]>0?"Your version is "+i:"You have no flash plugin installed")+"</h3>"+(c.tagName=="A"?"<p>Click here to download latest version</p>":"<p>Download latest version from <a href='"+b+"'>here</a></p>"),c.tagName=="A"&&(c.onclick=function(){location.href=b}));if(d.onFail){var g=d.onFail.call(this);typeof g=="string"&&(c.innerHTML=g)}}a&&(window[d.id]=document.getElementById(d.id)),f(this,{getRoot:function(){return c},getOptions:function(){return d},getConf:function(){return e},getApi:function(){return c.firstChild}})}c&&(jQuery.tools=jQuery.tools||{version:"v1.2.7"},jQuery.tools.flashembed={conf:e},jQuery.fn.flashembed=function(a,b){return this.each(function(){jQuery(this).data("flashembed",flashembed(this,a,b))})})})();
31
- (function(a){var b,c,d,e;a.tools=a.tools||{version:"v1.2.7"},a.tools.history={init:function(g){e||(a.browser.msie&&a.browser.version<"8"?c||(c=a("<iframe/>").attr("src","javascript:false;").hide().get(0),a("body").append(c),setInterval(function(){var d=c.contentWindow.document,e=d.location.hash;b!==e&&a(window).trigger("hash",e)},100),f(location.hash||"#")):setInterval(function(){var c=location.hash;c!==b&&a(window).trigger("hash",c)},100),d=d?d.add(g):g,g.click(function(b){var d=a(this).attr("href");c&&f(d);if(d.slice(0,1)!="#"){location.href="#"+d;return b.preventDefault()}}),e=!0)}};function f(a){if(a){var b=c.contentWindow.document;b.open().close(),b.location.hash=a}}a(window).on("hash",function(c,e){e?d.filter(function(){var b=a(this).attr("href");return b==e||b==e.replace("#","")}).trigger("history",[e]):d.eq(0).trigger("history",[e]),b=e}),a.fn.history=function(b){a.tools.history.init(this);return this.on("history",b)}})(jQuery);
32
- (function(a){a.fn.mousewheel=function(a){return this[a?"on":"trigger"]("wheel",a)},a.event.special.wheel={setup:function(){a.event.add(this,b,c,{})},teardown:function(){a.event.remove(this,b,c)}};var b=a.browser.mozilla?"DOMMouseScroll"+(a.browser.version<"1.9"?" mousemove":""):"mousewheel";function c(b){switch(b.type){case"mousemove":return a.extend(b.data,{clientX:b.clientX,clientY:b.clientY,pageX:b.pageX,pageY:b.pageY});case"DOMMouseScroll":a.extend(b,b.data),b.delta=-b.detail/3;break;case"mousewheel":b.delta=b.wheelDelta/120}b.type="wheel";return a.event.handle.call(this,b,b.delta)}})(jQuery);
33
- (function(a){a.tools=a.tools||{version:"v1.2.7"},a.tools.tooltip={conf:{effect:"toggle",fadeOutSpeed:"fast",predelay:0,delay:30,opacity:1,tip:0,fadeIE:!1,position:["top","center"],offset:[0,0],relative:!1,cancelDefault:!0,events:{def:"mouseenter,mouseleave",input:"focus,blur",widget:"focus mouseenter,blur mouseleave",tooltip:"mouseenter,mouseleave"},layout:"<div/>",tipClass:"tooltip"},addEffect:function(a,c,d){b[a]=[c,d]}};var b={toggle:[function(a){var b=this.getConf(),c=this.getTip(),d=b.opacity;d<1&&c.css({opacity:d}),c.show(),a.call()},function(a){this.getTip().hide(),a.call()}],fade:[function(b){var c=this.getConf();!a.browser.msie||c.fadeIE?this.getTip().fadeTo(c.fadeInSpeed,c.opacity,b):(this.getTip().show(),b())},function(b){var c=this.getConf();!a.browser.msie||c.fadeIE?this.getTip().fadeOut(c.fadeOutSpeed,b):(this.getTip().hide(),b())}]};function c(b,c,d){var e=d.relative?b.position().top:b.offset().top,f=d.relative?b.position().left:b.offset().left,g=d.position[0];e-=c.outerHeight()-d.offset[0],f+=b.outerWidth()+d.offset[1],/iPad/i.test(navigator.userAgent)&&(e-=a(window).scrollTop());var h=c.outerHeight()+b.outerHeight();g=="center"&&(e+=h/2),g=="bottom"&&(e+=h),g=d.position[1];var i=c.outerWidth()+b.outerWidth();g=="center"&&(f-=i/2),g=="left"&&(f-=i);return{top:e,left:f}}function d(d,e){var f=this,g=d.add(f),h,i=0,j=0,k=d.attr("title"),l=d.attr("data-tooltip"),m=b[e.effect],n,o=d.is(":input"),p=o&&d.is(":checkbox, :radio, select, :button, :submit"),q=d.attr("type"),r=e.events[q]||e.events[o?p?"widget":"input":"def"];if(!m)throw"Nonexistent effect \""+e.effect+"\"";r=r.split(/,\s*/);if(r.length!=2)throw"Tooltip: bad events configuration for "+q;d.on(r[0],function(a){clearTimeout(i),e.predelay?j=setTimeout(function(){f.show(a)},e.predelay):f.show(a)}).on(r[1],function(a){clearTimeout(j),e.delay?i=setTimeout(function(){f.hide(a)},e.delay):f.hide(a)}),k&&e.cancelDefault&&(d.removeAttr("title"),d.data("title",k)),a.extend(f,{show:function(b){if(!h){l?h=a(l):e.tip?h=a(e.tip).eq(0):k?h=a(e.layout).addClass(e.tipClass).appendTo(document.body).hide().append(k):(h=d.next(),h.length||(h=d.parent().next()));if(!h.length)throw"Cannot find tooltip for "+d}if(f.isShown())return f;h.stop(!0,!0);var o=c(d,h,e);e.tip&&h.html(d.data("title")),b=a.Event(),b.type="onBeforeShow",g.trigger(b,[o]);if(b.isDefaultPrevented())return f;o=c(d,h,e),h.css({position:"absolute",top:o.top,left:o.left}),n=!0,m[0].call(f,function(){b.type="onShow",n="full",g.trigger(b)});var p=e.events.tooltip.split(/,\s*/);h.data("__set")||(h.off(p[0]).on(p[0],function(){clearTimeout(i),clearTimeout(j)}),p[1]&&!d.is("input:not(:checkbox, :radio), textarea")&&h.off(p[1]).on(p[1],function(a){a.relatedTarget!=d[0]&&d.trigger(r[1].split(" ")[0])}),e.tip||h.data("__set",!0));return f},hide:function(c){if(!h||!f.isShown())return f;c=a.Event(),c.type="onBeforeHide",g.trigger(c);if(!c.isDefaultPrevented()){n=!1,b[e.effect][1].call(f,function(){c.type="onHide",g.trigger(c)});return f}},isShown:function(a){return a?n=="full":n},getConf:function(){return e},getTip:function(){return h},getTrigger:function(){return d}}),a.each("onHide,onBeforeShow,onShow,onBeforeHide".split(","),function(b,c){a.isFunction(e[c])&&a(f).on(c,e[c]),f[c]=function(b){b&&a(f).on(c,b);return f}})}a.fn.tooltip=function(b){var c=this.data("tooltip");if(c)return c;b=a.extend(!0,{},a.tools.tooltip.conf,b),typeof b.position=="string"&&(b.position=b.position.split(/,?\s/)),this.each(function(){c=new d(a(this),b),a(this).data("tooltip",c)});return b.api?c:this}})(jQuery);
34
- (function(a){var b=a.tools.tooltip;b.dynamic={conf:{classNames:"top right bottom left"}};function c(b){var c=a(window),d=c.width()+c.scrollLeft(),e=c.height()+c.scrollTop();return[b.offset().top<=c.scrollTop(),d<=b.offset().left+b.width(),e<=b.offset().top+b.height(),c.scrollLeft()>=b.offset().left]}function d(a){var b=a.length;while(b--)if(a[b])return!1;return!0}a.fn.dynamic=function(e){typeof e=="number"&&(e={speed:e}),e=a.extend({},b.dynamic.conf,e);var f=a.extend(!0,{},e),g=e.classNames.split(/\s/),h;this.each(function(){var b=a(this).tooltip().onBeforeShow(function(b,e){var i=this.getTip(),j=this.getConf();h||(h=[j.position[0],j.position[1],j.offset[0],j.offset[1],a.extend({},j)]),a.extend(j,h[4]),j.position=[h[0],h[1]],j.offset=[h[2],h[3]],i.css({visibility:"hidden",position:"absolute",top:e.top,left:e.left}).show();var k=a.extend(!0,{},f),l=c(i);if(!d(l)){l[2]&&(a.extend(j,k.top),j.position[0]="top",i.addClass(g[0])),l[3]&&(a.extend(j,k.right),j.position[1]="right",i.addClass(g[1])),l[0]&&(a.extend(j,k.bottom),j.position[0]="bottom",i.addClass(g[2])),l[1]&&(a.extend(j,k.left),j.position[1]="left",i.addClass(g[3]));if(l[0]||l[2])j.offset[0]*=-1;if(l[1]||l[3])j.offset[1]*=-1}i.css({visibility:"visible"}).hide()});b.onBeforeShow(function(){var a=this.getConf(),b=this.getTip();setTimeout(function(){a.position=[h[0],h[1]],a.offset=[h[2],h[3]]},0)}),b.onHide(function(){var a=this.getTip();a.removeClass(e.classNames)}),ret=b});return e.api?ret:this}})(jQuery);
35
- (function(a){var b=a.tools.tooltip;a.extend(b.conf,{direction:"up",bounce:!1,slideOffset:10,slideInSpeed:200,slideOutSpeed:200,slideFade:!a.browser.msie});var c={up:["-","top"],down:["+","top"],left:["-","left"],right:["+","left"]};b.addEffect("slide",function(a){var b=this.getConf(),d=this.getTip(),e=b.slideFade?{opacity:b.opacity}:{},f=c[b.direction]||c.up;e[f[1]]=f[0]+"="+b.slideOffset,b.slideFade&&d.css({opacity:0}),d.show().animate(e,b.slideInSpeed,a)},function(b){var d=this.getConf(),e=d.slideOffset,f=d.slideFade?{opacity:0}:{},g=c[d.direction]||c.up,h=""+g[0];d.bounce&&(h=h=="+"?"-":"+"),f[g[1]]=h+"="+e,this.getTip().animate(f,d.slideOutSpeed,function(){a(this).hide(),b.call()})})})(jQuery);