speedo 0.0.4 → 0.0.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 (91) hide show
  1. data/app/views/layouts/speedo/application.html.haml +26 -21
  2. data/app/views/speedo/home/examples.html.haml +15 -16
  3. data/config/routes.rb +2 -2
  4. data/lib/generators/speedo/install_generator.rb +2 -2
  5. data/lib/speedo/sass.rb +1 -2
  6. data/lib/speedo/version.rb +1 -1
  7. data/vendor/assets/javascripts/chosen.jquery.js +952 -0
  8. data/vendor/assets/javascripts/jquery.autoSuggest.js +368 -0
  9. data/vendor/assets/javascripts/jquery.autogrow.js +50 -0
  10. data/vendor/assets/javascripts/jquery.dataTables.js +11612 -0
  11. data/vendor/assets/javascripts/jquery.fancybox-1.3.4.js +1156 -0
  12. data/vendor/assets/javascripts/jquery.livequery.js +250 -0
  13. data/vendor/assets/javascripts/jquery.mousewheel-3.0.4.pack.js +14 -0
  14. data/vendor/assets/javascripts/jquery.placeholder.min.js +2 -0
  15. data/vendor/assets/javascripts/jquery.uniform.js +672 -0
  16. data/vendor/assets/javascripts/modernizr.min.js +13 -0
  17. data/vendor/assets/javascripts/respond.js +326 -0
  18. data/vendor/assets/stylesheets/autoSuggest.css +217 -0
  19. data/vendor/assets/stylesheets/chosen-sprite.png +0 -0
  20. data/vendor/assets/stylesheets/chosen.css +392 -0
  21. data/vendor/assets/stylesheets/dataTables/Sorting icons.psd +0 -0
  22. data/vendor/assets/stylesheets/dataTables/back_disabled.png +0 -0
  23. data/vendor/assets/stylesheets/dataTables/back_enabled.png +0 -0
  24. data/vendor/assets/stylesheets/dataTables/back_enabled_hover.png +0 -0
  25. data/vendor/assets/stylesheets/dataTables/favicon.ico +0 -0
  26. data/vendor/assets/stylesheets/dataTables/forward_disabled.png +0 -0
  27. data/vendor/assets/stylesheets/dataTables/forward_enabled.png +0 -0
  28. data/vendor/assets/stylesheets/dataTables/forward_enabled_hover.png +0 -0
  29. data/vendor/assets/stylesheets/dataTables/sort_asc.png +0 -0
  30. data/vendor/assets/stylesheets/dataTables/sort_asc_disabled.png +0 -0
  31. data/vendor/assets/stylesheets/dataTables/sort_both.png +0 -0
  32. data/vendor/assets/stylesheets/dataTables/sort_desc.png +0 -0
  33. data/vendor/assets/stylesheets/dataTables/sort_desc_disabled.png +0 -0
  34. data/vendor/assets/stylesheets/dataTables/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  35. data/vendor/assets/stylesheets/dataTables/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  36. data/vendor/assets/stylesheets/dataTables/ui-bg_glass_65_ffffff_1x400.png +0 -0
  37. data/vendor/assets/stylesheets/dataTables/ui-bg_glass_75_dadada_1x400.png +0 -0
  38. data/vendor/assets/stylesheets/dataTables/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  39. data/vendor/assets/stylesheets/dataTables/ui-bg_glass_75_ffffff_1x400.png +0 -0
  40. data/vendor/assets/stylesheets/dataTables/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  41. data/vendor/assets/stylesheets/dataTables/ui-bg_inset-soft_95_fef1ec_1x100.png +0 -0
  42. data/vendor/assets/stylesheets/dataTables/ui-icons_222222_256x240.png +0 -0
  43. data/vendor/assets/stylesheets/dataTables/ui-icons_2e83ff_256x240.png +0 -0
  44. data/vendor/assets/stylesheets/dataTables/ui-icons_454545_256x240.png +0 -0
  45. data/vendor/assets/stylesheets/dataTables/ui-icons_888888_256x240.png +0 -0
  46. data/vendor/assets/stylesheets/dataTables/ui-icons_cd0a0a_256x240.png +0 -0
  47. data/vendor/assets/stylesheets/fancybox/blank.gif +0 -0
  48. data/vendor/assets/stylesheets/fancybox/fancy_close.png +0 -0
  49. data/vendor/assets/stylesheets/fancybox/fancy_loading.png +0 -0
  50. data/vendor/assets/stylesheets/fancybox/fancy_nav_left.png +0 -0
  51. data/vendor/assets/stylesheets/fancybox/fancy_nav_right.png +0 -0
  52. data/vendor/assets/stylesheets/fancybox/fancy_shadow_e.png +0 -0
  53. data/vendor/assets/stylesheets/fancybox/fancy_shadow_n.png +0 -0
  54. data/vendor/assets/stylesheets/fancybox/fancy_shadow_ne.png +0 -0
  55. data/vendor/assets/stylesheets/fancybox/fancy_shadow_nw.png +0 -0
  56. data/vendor/assets/stylesheets/fancybox/fancy_shadow_s.png +0 -0
  57. data/vendor/assets/stylesheets/fancybox/fancy_shadow_se.png +0 -0
  58. data/vendor/assets/stylesheets/fancybox/fancy_shadow_sw.png +0 -0
  59. data/vendor/assets/stylesheets/fancybox/fancy_shadow_w.png +0 -0
  60. data/vendor/assets/stylesheets/fancybox/fancy_title_left.png +0 -0
  61. data/vendor/assets/stylesheets/fancybox/fancy_title_main.png +0 -0
  62. data/vendor/assets/stylesheets/fancybox/fancy_title_over.png +0 -0
  63. data/vendor/assets/stylesheets/fancybox/fancy_title_right.png +0 -0
  64. data/vendor/assets/stylesheets/fancybox/fancybox-x.png +0 -0
  65. data/vendor/assets/stylesheets/fancybox/fancybox-y.png +0 -0
  66. data/vendor/assets/stylesheets/fancybox/fancybox.png +0 -0
  67. data/vendor/assets/stylesheets/gh-buttons.css +393 -0
  68. data/vendor/assets/stylesheets/gh-icons.png +0 -0
  69. data/vendor/assets/stylesheets/jquery-ui-1.8.18.custom.css +565 -0
  70. data/vendor/assets/stylesheets/jquery.dataTables.css +219 -0
  71. data/vendor/assets/stylesheets/jquery.fancybox-1.3.4.css +359 -0
  72. data/vendor/assets/stylesheets/jqueryui/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  73. data/vendor/assets/stylesheets/jqueryui/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  74. data/vendor/assets/stylesheets/jqueryui/ui-bg_glass_65_ffffff_1x400.png +0 -0
  75. data/vendor/assets/stylesheets/jqueryui/ui-bg_glass_75_dadada_1x400.png +0 -0
  76. data/vendor/assets/stylesheets/jqueryui/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  77. data/vendor/assets/stylesheets/jqueryui/ui-bg_glass_75_ffffff_1x400.png +0 -0
  78. data/vendor/assets/stylesheets/jqueryui/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  79. data/vendor/assets/stylesheets/jqueryui/ui-bg_inset-soft_95_fef1ec_1x100.png +0 -0
  80. data/vendor/assets/stylesheets/jqueryui/ui-icons_222222_256x240.png +0 -0
  81. data/vendor/assets/stylesheets/jqueryui/ui-icons_2e83ff_256x240.png +0 -0
  82. data/vendor/assets/stylesheets/jqueryui/ui-icons_454545_256x240.png +0 -0
  83. data/vendor/assets/stylesheets/jqueryui/ui-icons_888888_256x240.png +0 -0
  84. data/vendor/assets/stylesheets/jqueryui/ui-icons_cd0a0a_256x240.png +0 -0
  85. data/vendor/assets/stylesheets/normalize.css +504 -0
  86. data/vendor/assets/stylesheets/uniform/bg-input-focus.png +0 -0
  87. data/vendor/assets/stylesheets/uniform/bg-input.png +0 -0
  88. data/vendor/assets/stylesheets/uniform/sprite-aristo.png +0 -0
  89. data/vendor/assets/stylesheets/uniform/sprite.png +0 -0
  90. data/vendor/assets/stylesheets/uniform.default.css +610 -0
  91. metadata +100 -16
@@ -0,0 +1,672 @@
1
+ /*
2
+
3
+ Uniform v1.7.5
4
+ Copyright © 2009 Josh Pyles / Pixelmatrix Design LLC
5
+ http://pixelmatrixdesign.com
6
+
7
+ Requires jQuery 1.4 or newer
8
+
9
+ Much thanks to Thomas Reynolds and Buck Wilson for their help and advice on this
10
+
11
+ Disabling text selection is made possible by Mathias Bynens <http://mathiasbynens.be/>
12
+ and his noSelect plugin. <http://github.com/mathiasbynens/noSelect-jQuery-Plugin>
13
+
14
+ Also, thanks to David Kaneda and Eugene Bond for their contributions to the plugin
15
+
16
+ License:
17
+ MIT License - http://www.opensource.org/licenses/mit-license.php
18
+
19
+ Enjoy!
20
+
21
+ */
22
+
23
+ (function($) {
24
+ $.uniform = {
25
+ options: {
26
+ selectClass: 'selector',
27
+ radioClass: 'radio',
28
+ checkboxClass: 'checker',
29
+ fileClass: 'uploader',
30
+ filenameClass: 'filename',
31
+ fileBtnClass: 'action',
32
+ fileDefaultText: 'No file selected',
33
+ fileBtnText: 'Choose File',
34
+ checkedClass: 'checked',
35
+ focusClass: 'focus',
36
+ disabledClass: 'disabled',
37
+ buttonClass: 'uniformbutton',
38
+ activeClass: 'active',
39
+ hoverClass: 'hover',
40
+ useID: true,
41
+ idPrefix: 'uniform',
42
+ resetSelector: false,
43
+ autoHide: true
44
+ },
45
+ elements: []
46
+ };
47
+
48
+ if($.browser.msie && $.browser.version < 7){
49
+ $.support.selectOpacity = false;
50
+ }else{
51
+ $.support.selectOpacity = true;
52
+ }
53
+
54
+ $.fn.uniform = function(options) {
55
+
56
+ options = $.extend($.uniform.options, options);
57
+
58
+ var el = this;
59
+ //code for specifying a reset button
60
+ if(options.resetSelector != false){
61
+ $(options.resetSelector).mouseup(function(){
62
+ function resetThis(){
63
+ $.uniform.update(el);
64
+ }
65
+ setTimeout(resetThis, 10);
66
+ });
67
+ }
68
+
69
+ function doInput(elem){
70
+ $el = $(elem);
71
+ $el.addClass($el.attr("type"));
72
+ storeElement(elem);
73
+ }
74
+
75
+ function doTextarea(elem){
76
+ $(elem).addClass("uniform");
77
+ storeElement(elem);
78
+ }
79
+
80
+ function doButton(elem){
81
+ var $el = $(elem);
82
+
83
+ var divTag = $("<div>"),
84
+ spanTag = $("<span>");
85
+
86
+ divTag.addClass(options.buttonClass);
87
+
88
+ if(options.useID && $el.attr("id") != "") divTag.attr("id", options.idPrefix+"-"+$el.attr("id"));
89
+
90
+ var btnText;
91
+
92
+ if($el.is("a") || $el.is("button")){
93
+ btnText = $el.text();
94
+ }else if($el.is(":submit") || $el.is(":reset") || $el.is("input[type=button]")){
95
+ btnText = $el.attr("value");
96
+ }
97
+
98
+ btnText = btnText == "" ? $el.is(":reset") ? "Reset" : "Submit" : btnText;
99
+
100
+ spanTag.html(btnText);
101
+
102
+ $el.css("opacity", 0);
103
+ $el.wrap(divTag);
104
+ $el.wrap(spanTag);
105
+
106
+ //redefine variables
107
+ divTag = $el.closest("div");
108
+ spanTag = $el.closest("span");
109
+
110
+ if($el.is(":disabled")) divTag.addClass(options.disabledClass);
111
+
112
+ divTag.bind({
113
+ "mouseenter.uniform": function(){
114
+ divTag.addClass(options.hoverClass);
115
+ },
116
+ "mouseleave.uniform": function(){
117
+ divTag.removeClass(options.hoverClass);
118
+ divTag.removeClass(options.activeClass);
119
+ },
120
+ "mousedown.uniform touchbegin.uniform": function(){
121
+ divTag.addClass(options.activeClass);
122
+ },
123
+ "mouseup.uniform touchend.uniform": function(){
124
+ divTag.removeClass(options.activeClass);
125
+ },
126
+ "click.uniform touchend.uniform": function(e){
127
+ if($(e.target).is("span") || $(e.target).is("div")){
128
+ if(elem[0].dispatchEvent){
129
+ var ev = document.createEvent('MouseEvents');
130
+ ev.initEvent( 'click', true, true );
131
+ elem[0].dispatchEvent(ev);
132
+ }else{
133
+ elem[0].click();
134
+ }
135
+ }
136
+ }
137
+ });
138
+
139
+ elem.bind({
140
+ "focus.uniform": function(){
141
+ divTag.addClass(options.focusClass);
142
+ },
143
+ "blur.uniform": function(){
144
+ divTag.removeClass(options.focusClass);
145
+ }
146
+ });
147
+
148
+ $.uniform.noSelect(divTag);
149
+ storeElement(elem);
150
+
151
+ }
152
+
153
+ function doSelect(elem){
154
+ var $el = $(elem);
155
+
156
+ var divTag = $('<div />'),
157
+ spanTag = $('<span />');
158
+
159
+ if(!$el.css("display") == "none" && options.autoHide){
160
+ divTag.hide();
161
+ }
162
+
163
+ divTag.addClass(options.selectClass);
164
+
165
+ if(options.useID && elem.attr("id") != ""){
166
+ divTag.attr("id", options.idPrefix+"-"+elem.attr("id"));
167
+ }
168
+
169
+ var selected = elem.find(":selected:first");
170
+ if(selected.length == 0){
171
+ selected = elem.find("option:first");
172
+ }
173
+ spanTag.html(selected.html());
174
+
175
+ elem.css('opacity', 0);
176
+ elem.wrap(divTag);
177
+ elem.before(spanTag);
178
+
179
+ //redefine variables
180
+ divTag = elem.parent("div");
181
+ spanTag = elem.siblings("span");
182
+
183
+ elem.bind({
184
+ "change.uniform": function() {
185
+ spanTag.text(elem.find(":selected").html());
186
+ divTag.removeClass(options.activeClass);
187
+ },
188
+ "focus.uniform": function() {
189
+ divTag.addClass(options.focusClass);
190
+ },
191
+ "blur.uniform": function() {
192
+ divTag.removeClass(options.focusClass);
193
+ divTag.removeClass(options.activeClass);
194
+ },
195
+ "mousedown.uniform touchbegin.uniform": function() {
196
+ divTag.addClass(options.activeClass);
197
+ },
198
+ "mouseup.uniform touchend.uniform": function() {
199
+ divTag.removeClass(options.activeClass);
200
+ },
201
+ "click.uniform touchend.uniform": function(){
202
+ divTag.removeClass(options.activeClass);
203
+ },
204
+ "mouseenter.uniform": function() {
205
+ divTag.addClass(options.hoverClass);
206
+ },
207
+ "mouseleave.uniform": function() {
208
+ divTag.removeClass(options.hoverClass);
209
+ divTag.removeClass(options.activeClass);
210
+ },
211
+ "keyup.uniform": function(){
212
+ spanTag.text(elem.find(":selected").html());
213
+ }
214
+ });
215
+
216
+ //handle disabled state
217
+ if($(elem).attr("disabled")){
218
+ //box is checked by default, check our box
219
+ divTag.addClass(options.disabledClass);
220
+ }
221
+ $.uniform.noSelect(spanTag);
222
+
223
+ storeElement(elem);
224
+
225
+ }
226
+
227
+ function doCheckbox(elem){
228
+ var $el = $(elem);
229
+
230
+ var divTag = $('<div />'),
231
+ spanTag = $('<span />');
232
+
233
+ if(!$el.css("display") == "none" && options.autoHide){
234
+ divTag.hide();
235
+ }
236
+
237
+ divTag.addClass(options.checkboxClass);
238
+
239
+ //assign the id of the element
240
+ if(options.useID && elem.attr("id") != ""){
241
+ divTag.attr("id", options.idPrefix+"-"+elem.attr("id"));
242
+ }
243
+
244
+ //wrap with the proper elements
245
+ $(elem).wrap(divTag);
246
+ $(elem).wrap(spanTag);
247
+
248
+ //redefine variables
249
+ spanTag = elem.parent();
250
+ divTag = spanTag.parent();
251
+
252
+ //hide normal input and add focus classes
253
+ $(elem)
254
+ .css("opacity", 0)
255
+ .bind({
256
+ "focus.uniform": function(){
257
+ divTag.addClass(options.focusClass);
258
+ },
259
+ "blur.uniform": function(){
260
+ divTag.removeClass(options.focusClass);
261
+ },
262
+ "click.uniform touchend.uniform": function(){
263
+ if(!$(elem).attr("checked")){
264
+ //box was just unchecked, uncheck span
265
+ spanTag.removeClass(options.checkedClass);
266
+ }else{
267
+ //box was just checked, check span.
268
+ spanTag.addClass(options.checkedClass);
269
+ }
270
+ },
271
+ "mousedown.uniform touchbegin.uniform": function() {
272
+ divTag.addClass(options.activeClass);
273
+ },
274
+ "mouseup.uniform touchend.uniform": function() {
275
+ divTag.removeClass(options.activeClass);
276
+ },
277
+ "mouseenter.uniform": function() {
278
+ divTag.addClass(options.hoverClass);
279
+ },
280
+ "mouseleave.uniform": function() {
281
+ divTag.removeClass(options.hoverClass);
282
+ divTag.removeClass(options.activeClass);
283
+ }
284
+ });
285
+
286
+ //handle defaults
287
+ if($(elem).attr("checked")){
288
+ //box is checked by default, check our box
289
+ spanTag.addClass(options.checkedClass);
290
+ }
291
+
292
+ //handle disabled state
293
+ if($(elem).attr("disabled")){
294
+ //box is checked by default, check our box
295
+ divTag.addClass(options.disabledClass);
296
+ }
297
+
298
+ storeElement(elem);
299
+ }
300
+
301
+ function doRadio(elem){
302
+ var $el = $(elem);
303
+
304
+ var divTag = $('<div />'),
305
+ spanTag = $('<span />');
306
+
307
+ if(!$el.css("display") == "none" && options.autoHide){
308
+ divTag.hide();
309
+ }
310
+
311
+ divTag.addClass(options.radioClass);
312
+
313
+ if(options.useID && elem.attr("id") != ""){
314
+ divTag.attr("id", options.idPrefix+"-"+elem.attr("id"));
315
+ }
316
+
317
+ //wrap with the proper elements
318
+ $(elem).wrap(divTag);
319
+ $(elem).wrap(spanTag);
320
+
321
+ //redefine variables
322
+ spanTag = elem.parent();
323
+ divTag = spanTag.parent();
324
+
325
+ //hide normal input and add focus classes
326
+ $(elem)
327
+ .css("opacity", 0)
328
+ .bind({
329
+ "focus.uniform": function(){
330
+ divTag.addClass(options.focusClass);
331
+ },
332
+ "blur.uniform": function(){
333
+ divTag.removeClass(options.focusClass);
334
+ },
335
+ "click.uniform touchend.uniform": function(){
336
+ if(!$(elem).attr("checked")){
337
+ //box was just unchecked, uncheck span
338
+ spanTag.removeClass(options.checkedClass);
339
+ }else{
340
+ //box was just checked, check span
341
+ var classes = options.radioClass.split(" ")[0];
342
+ $("." + classes + " span." + options.checkedClass + ":has([name='" + $(elem).attr('name') + "'])").removeClass(options.checkedClass);
343
+ spanTag.addClass(options.checkedClass);
344
+ }
345
+ },
346
+ "mousedown.uniform touchend.uniform": function() {
347
+ if(!$(elem).is(":disabled")){
348
+ divTag.addClass(options.activeClass);
349
+ }
350
+ },
351
+ "mouseup.uniform touchbegin.uniform": function() {
352
+ divTag.removeClass(options.activeClass);
353
+ },
354
+ "mouseenter.uniform touchend.uniform": function() {
355
+ divTag.addClass(options.hoverClass);
356
+ },
357
+ "mouseleave.uniform": function() {
358
+ divTag.removeClass(options.hoverClass);
359
+ divTag.removeClass(options.activeClass);
360
+ }
361
+ });
362
+
363
+ //handle defaults
364
+ if($(elem).attr("checked")){
365
+ //box is checked by default, check span
366
+ spanTag.addClass(options.checkedClass);
367
+ }
368
+ //handle disabled state
369
+ if($(elem).attr("disabled")){
370
+ //box is checked by default, check our box
371
+ divTag.addClass(options.disabledClass);
372
+ }
373
+
374
+ storeElement(elem);
375
+
376
+ }
377
+
378
+ function doFile(elem){
379
+ //sanitize input
380
+ var $el = $(elem);
381
+
382
+ var divTag = $('<div />'),
383
+ filenameTag = $('<span>'+options.fileDefaultText+'</span>'),
384
+ btnTag = $('<span>'+options.fileBtnText+'</span>');
385
+
386
+ if(!$el.css("display") == "none" && options.autoHide){
387
+ divTag.hide();
388
+ }
389
+
390
+ divTag.addClass(options.fileClass);
391
+ filenameTag.addClass(options.filenameClass);
392
+ btnTag.addClass(options.fileBtnClass);
393
+
394
+ if(options.useID && $el.attr("id") != ""){
395
+ divTag.attr("id", options.idPrefix+"-"+$el.attr("id"));
396
+ }
397
+
398
+ //wrap with the proper elements
399
+ $el.wrap(divTag);
400
+ $el.after(btnTag);
401
+ $el.after(filenameTag);
402
+
403
+ //redefine variables
404
+ divTag = $el.closest("div");
405
+ filenameTag = $el.siblings("."+options.filenameClass);
406
+ btnTag = $el.siblings("."+options.fileBtnClass);
407
+
408
+ //set the size
409
+ if(!$el.attr("size")){
410
+ var divWidth = divTag.width();
411
+ //$el.css("width", divWidth);
412
+ $el.attr("size", divWidth/10);
413
+ }
414
+
415
+ //actions
416
+ var setFilename = function()
417
+ {
418
+ var filename = $el.val();
419
+ if (filename === '')
420
+ {
421
+ filename = options.fileDefaultText;
422
+ }
423
+ else
424
+ {
425
+ filename = filename.split(/[\/\\]+/);
426
+ filename = filename[(filename.length-1)];
427
+ }
428
+ filenameTag.text(filename);
429
+ };
430
+
431
+ // Account for input saved across refreshes
432
+ setFilename();
433
+
434
+ $el
435
+ .css("opacity", 0)
436
+ .bind({
437
+ "focus.uniform": function(){
438
+ divTag.addClass(options.focusClass);
439
+ },
440
+ "blur.uniform": function(){
441
+ divTag.removeClass(options.focusClass);
442
+ },
443
+ "mousedown.uniform": function() {
444
+ if(!$(elem).is(":disabled")){
445
+ divTag.addClass(options.activeClass);
446
+ }
447
+ },
448
+ "mouseup.uniform": function() {
449
+ divTag.removeClass(options.activeClass);
450
+ },
451
+ "mouseenter.uniform": function() {
452
+ divTag.addClass(options.hoverClass);
453
+ },
454
+ "mouseleave.uniform": function() {
455
+ divTag.removeClass(options.hoverClass);
456
+ divTag.removeClass(options.activeClass);
457
+ }
458
+ });
459
+
460
+ // IE7 doesn't fire onChange until blur or second fire.
461
+ if ($.browser.msie){
462
+ // IE considers browser chrome blocking I/O, so it
463
+ // suspends tiemouts until after the file has been selected.
464
+ $el.bind('click.uniform.ie7', function() {
465
+ setTimeout(setFilename, 0);
466
+ });
467
+ }else{
468
+ // All other browsers behave properly
469
+ $el.bind('change.uniform', setFilename);
470
+ }
471
+
472
+ //handle defaults
473
+ if($el.attr("disabled")){
474
+ //box is checked by default, check our box
475
+ divTag.addClass(options.disabledClass);
476
+ }
477
+
478
+ $.uniform.noSelect(filenameTag);
479
+ $.uniform.noSelect(btnTag);
480
+
481
+ storeElement(elem);
482
+
483
+ }
484
+
485
+ $.uniform.restore = function(elem){
486
+ if(elem == undefined){
487
+ elem = $($.uniform.elements);
488
+ }
489
+
490
+ $(elem).each(function(){
491
+ if($(this).is(":checkbox")){
492
+ //unwrap from span and div
493
+ $(this).unwrap().unwrap();
494
+ }else if($(this).is("select")){
495
+ //remove sibling span
496
+ $(this).siblings("span").remove();
497
+ //unwrap parent div
498
+ $(this).unwrap();
499
+ }else if($(this).is(":radio")){
500
+ //unwrap from span and div
501
+ $(this).unwrap().unwrap();
502
+ }else if($(this).is(":file")){
503
+ //remove sibling spans
504
+ $(this).siblings("span").remove();
505
+ //unwrap parent div
506
+ $(this).unwrap();
507
+ }else if($(this).is("button, :submit, :reset, a, input[type='button']")){
508
+ //unwrap from span and div
509
+ $(this).unwrap().unwrap();
510
+ }
511
+
512
+ //unbind events
513
+ $(this).unbind(".uniform");
514
+
515
+ //reset inline style
516
+ $(this).css("opacity", "1");
517
+
518
+ //remove item from list of uniformed elements
519
+ var index = $.inArray($(elem), $.uniform.elements);
520
+ $.uniform.elements.splice(index, 1);
521
+ });
522
+ };
523
+
524
+ function storeElement(elem){
525
+ //store this element in our global array
526
+ elem = $(elem).get();
527
+ if(elem.length > 1){
528
+ $.each(elem, function(i, val){
529
+ $.uniform.elements.push(val);
530
+ });
531
+ }else{
532
+ $.uniform.elements.push(elem);
533
+ }
534
+ }
535
+
536
+ //noSelect v1.0
537
+ $.uniform.noSelect = function(elem) {
538
+ function f() {
539
+ return false;
540
+ };
541
+ $(elem).each(function() {
542
+ this.onselectstart = this.ondragstart = f; // Webkit & IE
543
+ $(this)
544
+ .mousedown(f) // Webkit & Opera
545
+ .css({ MozUserSelect: 'none' }); // Firefox
546
+ });
547
+ };
548
+
549
+ $.uniform.update = function(elem){
550
+ if(elem == undefined){
551
+ elem = $($.uniform.elements);
552
+ }
553
+ //sanitize input
554
+ elem = $(elem);
555
+
556
+ elem.each(function(){
557
+ //do to each item in the selector
558
+ //function to reset all classes
559
+ var $e = $(this);
560
+
561
+ if($e.is("select")){
562
+ //element is a select
563
+ var spanTag = $e.siblings("span");
564
+ var divTag = $e.parent("div");
565
+
566
+ divTag.removeClass(options.hoverClass+" "+options.focusClass+" "+options.activeClass);
567
+
568
+ //reset current selected text
569
+ spanTag.html($e.find(":selected").html());
570
+
571
+ if($e.is(":disabled")){
572
+ divTag.addClass(options.disabledClass);
573
+ }else{
574
+ divTag.removeClass(options.disabledClass);
575
+ }
576
+
577
+ }else if($e.is(":checkbox")){
578
+ //element is a checkbox
579
+ var spanTag = $e.closest("span");
580
+ var divTag = $e.closest("div");
581
+
582
+ divTag.removeClass(options.hoverClass+" "+options.focusClass+" "+options.activeClass);
583
+ spanTag.removeClass(options.checkedClass);
584
+
585
+ if($e.is(":checked")){
586
+ spanTag.addClass(options.checkedClass);
587
+ }
588
+ if($e.is(":disabled")){
589
+ divTag.addClass(options.disabledClass);
590
+ }else{
591
+ divTag.removeClass(options.disabledClass);
592
+ }
593
+
594
+ }else if($e.is(":radio")){
595
+ //element is a radio
596
+ var spanTag = $e.closest("span");
597
+ var divTag = $e.closest("div");
598
+
599
+ divTag.removeClass(options.hoverClass+" "+options.focusClass+" "+options.activeClass);
600
+ spanTag.removeClass(options.checkedClass);
601
+
602
+ if($e.is(":checked")){
603
+ spanTag.addClass(options.checkedClass);
604
+ }
605
+
606
+ if($e.is(":disabled")){
607
+ divTag.addClass(options.disabledClass);
608
+ }else{
609
+ divTag.removeClass(options.disabledClass);
610
+ }
611
+ }else if($e.is(":file")){
612
+ var divTag = $e.parent("div");
613
+ var filenameTag = $e.siblings(options.filenameClass);
614
+ btnTag = $e.siblings(options.fileBtnClass);
615
+
616
+ divTag.removeClass(options.hoverClass+" "+options.focusClass+" "+options.activeClass);
617
+
618
+ filenameTag.text($e.val());
619
+
620
+ if($e.is(":disabled")){
621
+ divTag.addClass(options.disabledClass);
622
+ }else{
623
+ divTag.removeClass(options.disabledClass);
624
+ }
625
+ }else if($e.is(":submit") || $e.is(":reset") || $e.is("button") || $e.is("a") || elem.is("input[type=button]")){
626
+ var divTag = $e.closest("div");
627
+ divTag.removeClass(options.hoverClass+" "+options.focusClass+" "+options.activeClass);
628
+
629
+ if($e.is(":disabled")){
630
+ divTag.addClass(options.disabledClass);
631
+ }else{
632
+ divTag.removeClass(options.disabledClass);
633
+ }
634
+
635
+ }
636
+
637
+ });
638
+ };
639
+
640
+ return this.each(function() {
641
+ if($.support.selectOpacity){
642
+ var elem = $(this);
643
+
644
+ if(elem.is("select")){
645
+ //element is a select
646
+ if(elem.attr("multiple") != true){
647
+ //element is not a multi-select
648
+ if(elem.attr("size") == undefined || elem.attr("size") <= 1){
649
+ doSelect(elem);
650
+ }
651
+ }
652
+ }else if(elem.is(":checkbox")){
653
+ //element is a checkbox
654
+ doCheckbox(elem);
655
+ }else if(elem.is(":radio")){
656
+ //element is a radio
657
+ doRadio(elem);
658
+ }else if(elem.is(":file")){
659
+ //element is a file upload
660
+ doFile(elem);
661
+ }else if(elem.is(":text, :password, input[type='email']")){
662
+ doInput(elem);
663
+ }else if(elem.is("textarea")){
664
+ doTextarea(elem);
665
+ }else if(elem.is("a") || elem.is(":submit") || elem.is(":reset") || elem.is("button") || elem.is("input[type=button]")){
666
+ doButton(elem);
667
+ }
668
+
669
+ }
670
+ });
671
+ };
672
+ })(jQuery);
@@ -0,0 +1,13 @@
1
+ /*!
2
+ * Modernizr v1.7
3
+ * http://www.modernizr.com
4
+ *
5
+ * Developed by:
6
+ * - Faruk Ates http://farukat.es/
7
+ * - Paul Irish http://paulirish.com/
8
+ *
9
+ * Copyright (c) 2009-2011
10
+ * Dual-licensed under the BSD or MIT licenses.
11
+ * http://www.modernizr.com/license/
12
+ */
13
+ window.Modernizr=(function(n,u,k){var e="1.7",G={},w=true,E=u.documentElement,h=u.head||u.getElementsByTagName("head")[0],F="modernizr",C=u.createElement(F),A=C.style,g=u.createElement("input"),D=":)",x=Object.prototype.toString,y=" -webkit- -moz- -o- -ms- -khtml- ".split(" "),p="Webkit Moz O ms Khtml".split(" "),H={svg:"http://www.w3.org/2000/svg"},j={},d={},v={},B=[],z,c=function(K){var J=u.createElement("style"),L=u.createElement("div"),I;J.textContent=K+"{#modernizr{height:3px}}";h.appendChild(J);L.id="modernizr";E.appendChild(L);I=L.offsetHeight===3;J.parentNode.removeChild(J);L.parentNode.removeChild(L);return !!I},s=(function(){var J={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};function I(K,M){M=M||u.createElement(J[K]||"div");K="on"+K;var L=(K in M);if(!L){if(!M.setAttribute){M=u.createElement("div")}if(M.setAttribute&&M.removeAttribute){M.setAttribute(K,"");L=l(M[K],"function");if(!l(M[K],k)){M[K]=k}M.removeAttribute(K)}}M=null;return L}return I})();var q=({}).hasOwnProperty,o;if(!l(q,k)&&!l(q.call,k)){o=function(I,J){return q.call(I,J)}}else{o=function(I,J){return((J in I)&&l(I.constructor.prototype[J],k))}}function t(I){A.cssText=I}function b(J,I){return t(y.join(J+";")+(I||""))}function l(J,I){return typeof J===I}function m(J,I){return(""+J).indexOf(I)!==-1}function f(J,K){for(var I in J){if(A[J[I]]!==k&&(!K||K(J[I],C))){return true}}}function a(L,K){var J=L.charAt(0).toUpperCase()+L.substr(1),I=(L+" "+p.join(J+" ")+J).split(" ");return !!f(I,K)}j.flexbox=function(){function J(O,Q,P,N){Q+=":";O.style.cssText=(Q+y.join(P+";"+Q)).slice(0,-Q.length)+(N||"")}function L(O,Q,P,N){O.style.cssText=y.join(Q+":"+P+";")+(N||"")}var M=u.createElement("div"),K=u.createElement("div");J(M,"display","box","width:42px;padding:0;");L(K,"box-flex","1","width:10px;");M.appendChild(K);E.appendChild(M);var I=K.offsetWidth===42;M.removeChild(K);E.removeChild(M);return I};j.canvas=function(){var I=u.createElement("canvas");return !!(I.getContext&&I.getContext("2d"))};j.canvastext=function(){return !!(G.canvas&&l(u.createElement("canvas").getContext("2d").fillText,"function"))};j.webgl=function(){return !!n.WebGLRenderingContext};j.touch=function(){return("ontouchstart" in n)||c("@media ("+y.join("touch-enabled),(")+"modernizr)")};j.geolocation=function(){return !!navigator.geolocation};j.postmessage=function(){return !!n.postMessage};j.websqldatabase=function(){var I=!!n.openDatabase;return I};j.indexedDB=function(){for(var J=-1,I=p.length;++J<I;){var K=p[J].toLowerCase();if(n[K+"_indexedDB"]||n[K+"IndexedDB"]){return true}}return false};j.hashchange=function(){return s("hashchange",n)&&(u.documentMode===k||u.documentMode>7)};j.history=function(){return !!(n.history&&history.pushState)};j.draganddrop=function(){return s("dragstart")&&s("drop")};j.websockets=function(){return("WebSocket" in n)};j.rgba=function(){t("background-color:rgba(150,255,150,.5)");return m(A.backgroundColor,"rgba")};j.hsla=function(){t("background-color:hsla(120,40%,100%,.5)");return m(A.backgroundColor,"rgba")||m(A.backgroundColor,"hsla")};j.multiplebgs=function(){t("background:url(//:),url(//:),red url(//:)");return new RegExp("(url\\s*\\(.*?){3}").test(A.background)};j.backgroundsize=function(){return a("backgroundSize")};j.borderimage=function(){return a("borderImage")};j.borderradius=function(){return a("borderRadius","",function(I){return m(I,"orderRadius")})};j.boxshadow=function(){return a("boxShadow")};j.textshadow=function(){return u.createElement("div").style.textShadow===""};j.opacity=function(){b("opacity:.55");return/^0.55$/.test(A.opacity)};j.cssanimations=function(){return a("animationName")};j.csscolumns=function(){return a("columnCount")};j.cssgradients=function(){var K="background-image:",J="gradient(linear,left top,right bottom,from(#9f9),to(white));",I="linear-gradient(left top,#9f9, white);";t((K+y.join(J+K)+y.join(I+K)).slice(0,-K.length));return m(A.backgroundImage,"gradient")};j.cssreflections=function(){return a("boxReflect")};j.csstransforms=function(){return !!f(["transformProperty","WebkitTransform","MozTransform","OTransform","msTransform"])};j.csstransforms3d=function(){var I=!!f(["perspectiveProperty","WebkitPerspective","MozPerspective","OPerspective","msPerspective"]);if(I&&"webkitPerspective" in E.style){I=c("@media ("+y.join("transform-3d),(")+"modernizr)")}return I};j.csstransitions=function(){return a("transitionProperty")};j.fontface=function(){var M,J,L=h||E,N=u.createElement("style"),I=u.implementation||{hasFeature:function(){return false}};N.type="text/css";L.insertBefore(N,L.firstChild);M=N.sheet||N.styleSheet;var K=I.hasFeature("CSS2","")?function(Q){if(!(M&&Q)){return false}var O=false;try{M.insertRule(Q,0);O=(/src/i).test(M.cssRules[0].cssText);M.deleteRule(M.cssRules.length-1)}catch(P){}return O}:function(O){if(!(M&&O)){return false}M.cssText=O;return M.cssText.length!==0&&(/src/i).test(M.cssText)&&M.cssText.replace(/\r+|\n+/g,"").indexOf(O.split(" ")[0])===0};J=K('@font-face { font-family: "font"; src: url(data:,); }');L.removeChild(N);return J};j.video=function(){var K=u.createElement("video"),I=!!K.canPlayType;if(I){I=new Boolean(I);I.ogg=K.canPlayType('video/ogg; codecs="theora"');var J='video/mp4; codecs="avc1.42E01E';I.h264=K.canPlayType(J+'"')||K.canPlayType(J+', mp4a.40.2"');I.webm=K.canPlayType('video/webm; codecs="vp8, vorbis"')}return I};j.audio=function(){var J=u.createElement("audio"),I=!!J.canPlayType;if(I){I=new Boolean(I);I.ogg=J.canPlayType('audio/ogg; codecs="vorbis"');I.mp3=J.canPlayType("audio/mpeg;");I.wav=J.canPlayType('audio/wav; codecs="1"');I.m4a=J.canPlayType("audio/x-m4a;")||J.canPlayType("audio/aac;")}return I};j.localstorage=function(){try{return !!localStorage.getItem}catch(I){return false}};j.sessionstorage=function(){try{return !!sessionStorage.getItem}catch(I){return false}};j.webWorkers=function(){return !!n.Worker};j.applicationcache=function(){return !!n.applicationCache};j.svg=function(){return !!u.createElementNS&&!!u.createElementNS(H.svg,"svg").createSVGRect};j.inlinesvg=function(){var I=u.createElement("div");I.innerHTML="<svg/>";return(I.firstChild&&I.firstChild.namespaceURI)==H.svg};j.smil=function(){return !!u.createElementNS&&/SVG/.test(x.call(u.createElementNS(H.svg,"animate")))};j.svgclippaths=function(){return !!u.createElementNS&&/SVG/.test(x.call(u.createElementNS(H.svg,"clipPath")))};function r(){G.input=(function(K){for(var J=0,I=K.length;J<I;J++){v[K[J]]=!!(K[J] in g)}return v})("autocomplete autofocus list placeholder max min multiple pattern required step".split(" "));G.inputtypes=(function(L){for(var K=0,J,N,M,I=L.length;K<I;K++){g.setAttribute("type",N=L[K]);J=g.type!=="text";if(J){g.value=D;g.style.cssText="position:absolute;visibility:hidden;";if(/^range$/.test(N)&&g.style.WebkitAppearance!==k){E.appendChild(g);M=u.defaultView;J=M.getComputedStyle&&M.getComputedStyle(g,null).WebkitAppearance!=="textfield"&&(g.offsetHeight!==0);E.removeChild(g)}else{if(/^(search|tel)$/.test(N)){}else{if(/^(url|email)$/.test(N)){J=g.checkValidity&&g.checkValidity()===false}else{if(/^color$/.test(N)){E.appendChild(g);E.offsetWidth;J=g.value!=D;E.removeChild(g)}else{J=g.value!=D}}}}}d[L[K]]=!!J}return d})("search tel url email datetime date month week time datetime-local number range color".split(" "))}for(var i in j){if(o(j,i)){z=i.toLowerCase();G[z]=j[i]();B.push((G[z]?"":"no-")+z)}}if(!G.input){r()}G.crosswindowmessaging=G.postmessage;G.historymanagement=G.history;G.addTest=function(I,J){I=I.toLowerCase();if(G[I]){return}J=!!(J());E.className+=" "+(J?"":"no-")+I;G[I]=J;return G};t("");C=g=null;if(w&&n.attachEvent&&(function(){var I=u.createElement("div");I.innerHTML="<elem></elem>";return I.childNodes.length!==1})()){(function(S,W){var I="abbr|article|aside|audio|canvas|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",N=I.split("|"),L=N.length,J=new RegExp("(^|\\s)("+I+")","gi"),P=new RegExp("<(/*)("+I+")","gi"),U=new RegExp("(^|[^\\n]*?\\s)("+I+")([^\\n]*)({[\\n\\w\\W]*?})","gi"),X=W.createDocumentFragment(),Q=W.documentElement,V=Q.firstChild,K=W.createElement("body"),O=W.createElement("style"),R;function M(Z){var Y=-1;while(++Y<L){Z.createElement(N[Y])}}function T(ac,aa){var Z=-1,Y=ac.length,ad,ab=[];while(++Z<Y){ad=ac[Z];if((aa=ad.media||aa)!="screen"){ab.push(T(ad.imports,aa),ad.cssText)}}return ab.join("")}M(W);M(X);V.insertBefore(O,V.firstChild);O.media="print";S.attachEvent("onbeforeprint",function(){var Z=-1,ac=T(W.styleSheets,"all"),ab=[],ae;R=R||W.body;while((ae=U.exec(ac))!=null){ab.push((ae[1]+ae[2]+ae[3]).replace(J,"$1.iepp_$2")+ae[4])}O.styleSheet.cssText=ab.join("\n");while(++Z<L){var aa=W.getElementsByTagName(N[Z]),ad=aa.length,Y=-1;while(++Y<ad){if(aa[Y].className.indexOf("iepp_")<0){aa[Y].className+=" iepp_"+N[Z]}}}X.appendChild(R);Q.appendChild(K);K.className=R.className;K.innerHTML=R.innerHTML.replace(P,"<$1font")});S.attachEvent("onafterprint",function(){K.innerHTML="";Q.removeChild(K);Q.appendChild(R);O.styleSheet.cssText=""})})(n,u)}G._enableHTML5=w;G._version=e;E.className=E.className.replace(/\bno-js\b/,"")+" js "+B.join(" ");return G})(this,this.document);