speedo 0.1.9 → 0.2.0

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 (113) hide show
  1. data/app/assets/javascripts/speedo.js +12 -12
  2. data/app/views/layouts/speedo/application.html.haml +2 -2
  3. data/lib/speedo/sass.rb +1 -1
  4. data/lib/speedo/version.rb +1 -1
  5. data/test/dummy/log/development.log +889 -0
  6. data/test/dummy/tmp/cache/assets/BC8/350/sprockets%2F3357f02a74351649de62769431854154 +0 -0
  7. data/test/dummy/tmp/cache/assets/BFD/090/sprockets%2F50267839603d9c7384477250f0169f0e +0 -0
  8. data/test/dummy/tmp/cache/assets/C4F/220/sprockets%2F19a6a3539a4ed0526c356691798032a3 +0 -0
  9. data/test/dummy/tmp/cache/assets/C55/E10/sprockets%2F9da121566709335e3081059e7774a9bb +957 -0
  10. data/test/dummy/tmp/cache/assets/C5F/4E0/sprockets%2F4c17092a9c628e66645a4586e9b50717 +57 -0
  11. data/test/dummy/tmp/cache/assets/C82/BB0/sprockets%2F904cd2f9283528b32d94a1d2a6711489 +41 -0
  12. data/test/dummy/tmp/cache/assets/CDE/600/sprockets%2F205a8cce7806d7c77117f1dc263146a8 +0 -0
  13. data/test/dummy/tmp/cache/assets/CE0/930/sprockets%2Fb6670296cd6b3ce81034c8d5d31e5725 +8 -0
  14. data/test/dummy/tmp/cache/assets/CE1/3B0/sprockets%2Fe8865654d2d075e6bba1074193e443dc +350 -0
  15. data/test/dummy/tmp/cache/assets/CF5/F40/sprockets%2F72637ea0f394f68dcc931527509e79ec +0 -0
  16. data/test/dummy/tmp/cache/assets/CF9/7C0/sprockets%2F488b6dcdeb1301268a65202e7101ed2a +974 -0
  17. data/test/dummy/tmp/cache/assets/D0C/C60/sprockets%2F39d93fba83bb3b50a75826703c5a28c5 +311 -0
  18. data/test/dummy/tmp/cache/assets/D1D/D50/sprockets%2F5b87bedce3ae871f14e41e2479290866 +0 -0
  19. data/test/dummy/tmp/cache/assets/D2A/5C0/sprockets%2Fe12edc211b1935a76d3aab4e8716006d +394 -0
  20. data/test/dummy/tmp/cache/assets/D3A/090/sprockets%2F0d24039ad1b8ef3525e367fe51905fbb +11635 -0
  21. data/test/dummy/tmp/cache/assets/D3B/1E0/sprockets%2Fe5f2362b8b1eb8273f1a7764cbb15e35 +11618 -0
  22. data/test/dummy/tmp/cache/assets/D3D/F80/sprockets%2Fadfc8f7271b3a873f3462e149a6a34e0 +374 -0
  23. data/test/dummy/tmp/cache/assets/D3F/0A0/sprockets%2Fc4574a4ea12e8efe636123e1a17f7d66 +11773 -0
  24. data/test/dummy/tmp/cache/assets/D42/CB0/sprockets%2F6c01eb50fe79d82720a649960dee5dd0 +20 -0
  25. data/test/dummy/tmp/cache/assets/D49/2B0/sprockets%2F34363288c95affbe232a199c6938ceab +391 -0
  26. data/test/dummy/tmp/cache/assets/D5B/120/sprockets%2F525577d56abcec9969e805ddc2997fd0 +332 -0
  27. data/test/dummy/tmp/cache/assets/D65/820/sprockets%2F4e91290eae5edd2f4d287ca2952be000 +327 -0
  28. data/test/dummy/tmp/cache/assets/D6C/3D0/sprockets%2Fa62ebc5f479b52c204f4c71ea65594ca +55 -0
  29. data/test/dummy/tmp/cache/assets/D71/D90/sprockets%2F7bb9508df3d877f853823addd4b0a22b +19 -0
  30. data/test/dummy/tmp/cache/assets/D84/210/sprockets%2Fabd0103ccec2b428ac62c94e4c40b384 +0 -0
  31. data/test/dummy/tmp/cache/assets/D97/830/sprockets%2Fd55ede995a2705ab74db22acf510dd90 +0 -0
  32. data/test/dummy/tmp/cache/assets/D9B/400/sprockets%2Fec83dc0dc78764b460a3ffc063df25e0 +11789 -0
  33. data/test/dummy/tmp/cache/assets/DA1/670/sprockets%2Fb71f32bbfb530e59ad7a177cf54a888b +0 -0
  34. data/test/dummy/tmp/cache/assets/DA8/760/sprockets%2F1359bb83c703a91d57cfebdaf879a4d7 +9288 -0
  35. data/test/dummy/tmp/cache/assets/DB3/C60/sprockets%2F1ff86e3b1c5bf1c179ac719fced99829 +53 -0
  36. data/test/dummy/tmp/cache/assets/DBE/F80/sprockets%2F8647fc3439abdaa0eb161dadf2fc4304 +694 -0
  37. data/test/dummy/tmp/cache/assets/DC3/CC0/sprockets%2Fa04ece65c59a7a325cab61861da2be7e +0 -0
  38. data/test/dummy/tmp/cache/assets/DC5/290/sprockets%2F1c5dee9b02ab66fbf6e62627a13e27ba +37 -0
  39. data/test/dummy/tmp/cache/assets/DE9/520/sprockets%2Fe9f8259c99da2f355198dc4bcdebb69d +0 -0
  40. data/test/dummy/tmp/cache/assets/DEA/500/sprockets%2F485fc5ba3f81b49ccdd788885ea8de5e +0 -0
  41. data/test/dummy/tmp/cache/assets/DF2/CB0/sprockets%2F4500acae993e0fa07bd48dceee07e2b3 +0 -0
  42. data/test/dummy/tmp/cache/assets/DF9/EB0/sprockets%2Ffcaa51a13d86ac9cf245f2a5d70c9d8c +256 -0
  43. data/test/dummy/tmp/cache/assets/E04/890/sprockets%2F2f5173deea6c795b8fdde723bb4b63af +0 -0
  44. data/test/dummy/tmp/cache/assets/E7F/BB0/sprockets%2Ffdeefdc424a13a04addae542356dffae +678 -0
  45. data/test/dummy/tmp/cache/assets/E82/D20/sprockets%2Fcdce4acb88dcbeaba64a06a254a9e09f +0 -0
  46. metadata +192 -88
  47. /data/vendor/assets/javascripts/{chosen.jquery.js → speedo/chosen.jquery.js} +0 -0
  48. /data/vendor/assets/javascripts/{jquery.autoSuggest.js → speedo/jquery.autoSuggest.js} +0 -0
  49. /data/vendor/assets/javascripts/{jquery.autogrow.js → speedo/jquery.autogrow.js} +0 -0
  50. /data/vendor/assets/javascripts/{jquery.dataTables.js → speedo/jquery.dataTables.js} +0 -0
  51. /data/vendor/assets/javascripts/{jquery.livequery.js → speedo/jquery.livequery.js} +0 -0
  52. /data/vendor/assets/javascripts/{jquery.mousewheel-3.0.4.pack.js → speedo/jquery.mousewheel-3.0.4.pack.js} +0 -0
  53. /data/vendor/assets/javascripts/{jquery.placeholder.min.js → speedo/jquery.placeholder.min.js} +0 -0
  54. /data/vendor/assets/javascripts/{jquery.spin.js → speedo/jquery.spin.js} +0 -0
  55. /data/vendor/assets/javascripts/{jquery.timeago.js → speedo/jquery.timeago.js} +0 -0
  56. /data/vendor/assets/javascripts/{jquery.tools.min.js → speedo/jquery.tools.min.js} +0 -0
  57. /data/vendor/assets/javascripts/{jquery.uniform.js → speedo/jquery.uniform.js} +0 -0
  58. /data/vendor/assets/javascripts/{modernizr.min.js → speedo/modernizr.min.js} +0 -0
  59. /data/vendor/assets/javascripts/{respond.js → speedo/respond.js} +0 -0
  60. /data/vendor/assets/javascripts/{spin.js → speedo/spin.js} +0 -0
  61. /data/vendor/assets/stylesheets/{autoSuggest.css → speedo/autoSuggest.css} +0 -0
  62. /data/vendor/assets/stylesheets/{chosen-sprite.png → speedo/chosen-sprite.png} +0 -0
  63. /data/vendor/assets/stylesheets/{chosen.css → speedo/chosen.css} +0 -0
  64. /data/vendor/assets/stylesheets/{dataTables → speedo/dataTables}/Sorting icons.psd +0 -0
  65. /data/vendor/assets/stylesheets/{dataTables → speedo/dataTables}/back_disabled.png +0 -0
  66. /data/vendor/assets/stylesheets/{dataTables → speedo/dataTables}/back_enabled.png +0 -0
  67. /data/vendor/assets/stylesheets/{dataTables → speedo/dataTables}/back_enabled_hover.png +0 -0
  68. /data/vendor/assets/stylesheets/{dataTables → speedo/dataTables}/favicon.ico +0 -0
  69. /data/vendor/assets/stylesheets/{dataTables → speedo/dataTables}/forward_disabled.png +0 -0
  70. /data/vendor/assets/stylesheets/{dataTables → speedo/dataTables}/forward_enabled.png +0 -0
  71. /data/vendor/assets/stylesheets/{dataTables → speedo/dataTables}/forward_enabled_hover.png +0 -0
  72. /data/vendor/assets/stylesheets/{dataTables → speedo/dataTables}/sort_asc.png +0 -0
  73. /data/vendor/assets/stylesheets/{dataTables → speedo/dataTables}/sort_asc_disabled.png +0 -0
  74. /data/vendor/assets/stylesheets/{dataTables → speedo/dataTables}/sort_both.png +0 -0
  75. /data/vendor/assets/stylesheets/{dataTables → speedo/dataTables}/sort_desc.png +0 -0
  76. /data/vendor/assets/stylesheets/{dataTables → speedo/dataTables}/sort_desc_disabled.png +0 -0
  77. /data/vendor/assets/stylesheets/{dataTables → speedo/dataTables}/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  78. /data/vendor/assets/stylesheets/{dataTables → speedo/dataTables}/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  79. /data/vendor/assets/stylesheets/{dataTables → speedo/dataTables}/ui-bg_glass_65_ffffff_1x400.png +0 -0
  80. /data/vendor/assets/stylesheets/{dataTables → speedo/dataTables}/ui-bg_glass_75_dadada_1x400.png +0 -0
  81. /data/vendor/assets/stylesheets/{dataTables → speedo/dataTables}/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  82. /data/vendor/assets/stylesheets/{dataTables → speedo/dataTables}/ui-bg_glass_75_ffffff_1x400.png +0 -0
  83. /data/vendor/assets/stylesheets/{dataTables → speedo/dataTables}/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  84. /data/vendor/assets/stylesheets/{dataTables → speedo/dataTables}/ui-bg_inset-soft_95_fef1ec_1x100.png +0 -0
  85. /data/vendor/assets/stylesheets/{dataTables → speedo/dataTables}/ui-icons_222222_256x240.png +0 -0
  86. /data/vendor/assets/stylesheets/{dataTables → speedo/dataTables}/ui-icons_2e83ff_256x240.png +0 -0
  87. /data/vendor/assets/stylesheets/{dataTables → speedo/dataTables}/ui-icons_454545_256x240.png +0 -0
  88. /data/vendor/assets/stylesheets/{dataTables → speedo/dataTables}/ui-icons_888888_256x240.png +0 -0
  89. /data/vendor/assets/stylesheets/{dataTables → speedo/dataTables}/ui-icons_cd0a0a_256x240.png +0 -0
  90. /data/vendor/assets/stylesheets/{formtastic-buttonless.css → speedo/formtastic-buttonless.css} +0 -0
  91. /data/vendor/assets/stylesheets/{gh-buttons.css → speedo/gh-buttons.css} +0 -0
  92. /data/vendor/assets/stylesheets/{gh-icons.png → speedo/gh-icons.png} +0 -0
  93. /data/vendor/assets/stylesheets/{jquery-ui-1.8.18.custom.css → speedo/jquery-ui-1.8.18.custom.css} +0 -0
  94. /data/vendor/assets/stylesheets/{jquery.dataTables.css → speedo/jquery.dataTables.css} +0 -0
  95. /data/vendor/assets/stylesheets/{jqueryui → speedo/jqueryui}/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  96. /data/vendor/assets/stylesheets/{jqueryui → speedo/jqueryui}/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  97. /data/vendor/assets/stylesheets/{jqueryui → speedo/jqueryui}/ui-bg_glass_65_ffffff_1x400.png +0 -0
  98. /data/vendor/assets/stylesheets/{jqueryui → speedo/jqueryui}/ui-bg_glass_75_dadada_1x400.png +0 -0
  99. /data/vendor/assets/stylesheets/{jqueryui → speedo/jqueryui}/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  100. /data/vendor/assets/stylesheets/{jqueryui → speedo/jqueryui}/ui-bg_glass_75_ffffff_1x400.png +0 -0
  101. /data/vendor/assets/stylesheets/{jqueryui → speedo/jqueryui}/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  102. /data/vendor/assets/stylesheets/{jqueryui → speedo/jqueryui}/ui-bg_inset-soft_95_fef1ec_1x100.png +0 -0
  103. /data/vendor/assets/stylesheets/{jqueryui → speedo/jqueryui}/ui-icons_222222_256x240.png +0 -0
  104. /data/vendor/assets/stylesheets/{jqueryui → speedo/jqueryui}/ui-icons_2e83ff_256x240.png +0 -0
  105. /data/vendor/assets/stylesheets/{jqueryui → speedo/jqueryui}/ui-icons_454545_256x240.png +0 -0
  106. /data/vendor/assets/stylesheets/{jqueryui → speedo/jqueryui}/ui-icons_888888_256x240.png +0 -0
  107. /data/vendor/assets/stylesheets/{jqueryui → speedo/jqueryui}/ui-icons_cd0a0a_256x240.png +0 -0
  108. /data/vendor/assets/stylesheets/{normalize.css → speedo/normalize.css} +0 -0
  109. /data/vendor/assets/stylesheets/{uniform → speedo/uniform}/bg-input-focus.png +0 -0
  110. /data/vendor/assets/stylesheets/{uniform → speedo/uniform}/bg-input.png +0 -0
  111. /data/vendor/assets/stylesheets/{uniform → speedo/uniform}/sprite-aristo.png +0 -0
  112. /data/vendor/assets/stylesheets/{uniform → speedo/uniform}/sprite.png +0 -0
  113. /data/vendor/assets/stylesheets/{uniform.default.css → speedo/uniform.default.css} +0 -0
@@ -0,0 +1,678 @@
1
+ o: ActiveSupport::Cache::Entry :@compressedF:@expires_in0:@created_atf1339771360.157384: @value{ I" length:EFi�LI" digest;
2
+ F"%b4b1f9449a301e14df9fcec42e34f2edI" source;
3
+ FI"�L/*
4
+
5
+ Uniform v1.7.5
6
+ Copyright © 2009 Josh Pyles / Pixelmatrix Design LLC
7
+ http://pixelmatrixdesign.com
8
+
9
+ Requires jQuery 1.4 or newer
10
+
11
+ Much thanks to Thomas Reynolds and Buck Wilson for their help and advice on this
12
+
13
+ Disabling text selection is made possible by Mathias Bynens <http://mathiasbynens.be/>
14
+ and his noSelect plugin. <http://github.com/mathiasbynens/noSelect-jQuery-Plugin>
15
+
16
+ Also, thanks to David Kaneda and Eugene Bond for their contributions to the plugin
17
+
18
+ License:
19
+ MIT License - http://www.opensource.org/licenses/mit-license.php
20
+
21
+ Enjoy!
22
+
23
+ */
24
+
25
+
26
+ (function($) {
27
+ $.uniform = {
28
+ options: {
29
+ selectClass: 'uni-selector',
30
+ radioClass: 'uni-radio',
31
+ checkboxClass: 'uni-checker',
32
+ fileClass: 'uni-uploader',
33
+ filenameClass: 'uni-filename',
34
+ fileBtnClass: 'uni-action',
35
+ fileDefaultText: 'No file selected',
36
+ fileBtnText: 'Choose File',
37
+ checkedClass: 'uni-checked',
38
+ focusClass: 'uni-focus',
39
+ disabledClass: 'uni-disabled',
40
+ buttonClass: 'uni-button',
41
+ activeClass: 'uni-active',
42
+ hoverClass: 'uni-hover',
43
+ useID: true,
44
+ idPrefix: 'uniform',
45
+ resetSelector: false,
46
+ autoHide: true
47
+ },
48
+ elements: []
49
+ };
50
+
51
+ if($.browser.msie && $.browser.version < 7){
52
+ $.support.selectOpacity = false;
53
+ }else{
54
+ $.support.selectOpacity = true;
55
+ }
56
+
57
+ $.fn.uniform = function(options) {
58
+
59
+ options = $.extend($.uniform.options, options);
60
+
61
+ var el = this;
62
+ //code for specifying a reset button
63
+ if(options.resetSelector != false){
64
+ $(options.resetSelector).mouseup(function(){
65
+ function resetThis(){
66
+ $.uniform.update(el);
67
+ }
68
+ setTimeout(resetThis, 10);
69
+ });
70
+ }
71
+
72
+ function doInput(elem){
73
+ $el = $(elem);
74
+ $el.addClass($el.attr("type"));
75
+ storeElement(elem);
76
+ }
77
+
78
+ function doTextarea(elem){
79
+ $(elem).addClass("uniform");
80
+ storeElement(elem);
81
+ }
82
+
83
+ function doButton(elem){
84
+ var $el = $(elem);
85
+
86
+ var divTag = $("<div>"),
87
+ spanTag = $("<span>");
88
+
89
+ divTag.addClass(options.buttonClass);
90
+
91
+ if(options.useID && $el.attr("id") != "") divTag.attr("id", options.idPrefix+"-"+$el.attr("id"));
92
+
93
+ var btnText;
94
+
95
+ if($el.is("a") || $el.is("button")){
96
+ btnText = $el.text();
97
+ }else if($el.is(":submit") || $el.is(":reset") || $el.is("input[type=button]")){
98
+ btnText = $el.attr("value");
99
+ }
100
+
101
+ btnText = btnText == "" ? $el.is(":reset") ? "Reset" : "Submit" : btnText;
102
+
103
+ spanTag.html(btnText);
104
+
105
+ $el.css("opacity", 0);
106
+ $el.wrap(divTag);
107
+ $el.wrap(spanTag);
108
+
109
+ //redefine variables
110
+ divTag = $el.closest("div");
111
+ spanTag = $el.closest("span");
112
+
113
+ if($el.is(":disabled")) divTag.addClass(options.disabledClass);
114
+
115
+ divTag.bind({
116
+ "mouseenter.uniform": function(){
117
+ divTag.addClass(options.hoverClass);
118
+ },
119
+ "mouseleave.uniform": function(){
120
+ divTag.removeClass(options.hoverClass);
121
+ divTag.removeClass(options.activeClass);
122
+ },
123
+ "mousedown.uniform touchbegin.uniform": function(){
124
+ divTag.addClass(options.activeClass);
125
+ },
126
+ "mouseup.uniform touchend.uniform": function(){
127
+ divTag.removeClass(options.activeClass);
128
+ },
129
+ "click.uniform touchend.uniform": function(e){
130
+ if($(e.target).is("span") || $(e.target).is("div")){
131
+ if(elem[0].dispatchEvent){
132
+ var ev = document.createEvent('MouseEvents');
133
+ ev.initEvent( 'click', true, true );
134
+ elem[0].dispatchEvent(ev);
135
+ }else{
136
+ elem[0].click();
137
+ }
138
+ }
139
+ }
140
+ });
141
+
142
+ elem.bind({
143
+ "focus.uniform": function(){
144
+ divTag.addClass(options.focusClass);
145
+ },
146
+ "blur.uniform": function(){
147
+ divTag.removeClass(options.focusClass);
148
+ }
149
+ });
150
+
151
+ $.uniform.noSelect(divTag);
152
+ storeElement(elem);
153
+
154
+ }
155
+
156
+ function doSelect(elem){
157
+ var $el = $(elem);
158
+
159
+ var divTag = $('<div />'),
160
+ spanTag = $('<span />');
161
+
162
+ if(!$el.css("display") == "none" && options.autoHide){
163
+ divTag.hide();
164
+ }
165
+
166
+ divTag.addClass(options.selectClass);
167
+
168
+ if(options.useID && elem.attr("id") != ""){
169
+ divTag.attr("id", options.idPrefix+"-"+elem.attr("id"));
170
+ }
171
+
172
+ var selected = elem.find(":selected:first");
173
+ if(selected.length == 0){
174
+ selected = elem.find("option:first");
175
+ }
176
+ spanTag.html(selected.html());
177
+
178
+ elem.css('opacity', 0);
179
+ elem.wrap(divTag);
180
+ elem.before(spanTag);
181
+
182
+ //redefine variables
183
+ divTag = elem.parent("div");
184
+ spanTag = elem.siblings("span");
185
+
186
+ elem.bind({
187
+ "change.uniform": function() {
188
+ spanTag.text(elem.find(":selected").html());
189
+ divTag.removeClass(options.activeClass);
190
+ },
191
+ "focus.uniform": function() {
192
+ divTag.addClass(options.focusClass);
193
+ },
194
+ "blur.uniform": function() {
195
+ divTag.removeClass(options.focusClass);
196
+ divTag.removeClass(options.activeClass);
197
+ },
198
+ "mousedown.uniform touchbegin.uniform": function() {
199
+ divTag.addClass(options.activeClass);
200
+ },
201
+ "mouseup.uniform touchend.uniform": function() {
202
+ divTag.removeClass(options.activeClass);
203
+ },
204
+ "click.uniform touchend.uniform": function(){
205
+ divTag.removeClass(options.activeClass);
206
+ },
207
+ "mouseenter.uniform": function() {
208
+ divTag.addClass(options.hoverClass);
209
+ },
210
+ "mouseleave.uniform": function() {
211
+ divTag.removeClass(options.hoverClass);
212
+ divTag.removeClass(options.activeClass);
213
+ },
214
+ "keyup.uniform": function(){
215
+ spanTag.text(elem.find(":selected").html());
216
+ }
217
+ });
218
+
219
+ //handle disabled state
220
+ if($(elem).attr("disabled")){
221
+ //box is checked by default, check our box
222
+ divTag.addClass(options.disabledClass);
223
+ }
224
+ $.uniform.noSelect(spanTag);
225
+
226
+ storeElement(elem);
227
+
228
+ }
229
+
230
+ function doCheckbox(elem){
231
+ var $el = $(elem);
232
+
233
+ var divTag = $('<div />'),
234
+ spanTag = $('<span />');
235
+
236
+ if(!$el.css("display") == "none" && options.autoHide){
237
+ divTag.hide();
238
+ }
239
+
240
+ divTag.addClass(options.checkboxClass);
241
+
242
+ //assign the id of the element
243
+ if(options.useID && elem.attr("id") != ""){
244
+ divTag.attr("id", options.idPrefix+"-"+elem.attr("id"));
245
+ }
246
+
247
+ //wrap with the proper elements
248
+ $(elem).wrap(divTag);
249
+ $(elem).wrap(spanTag);
250
+
251
+ //redefine variables
252
+ spanTag = elem.parent();
253
+ divTag = spanTag.parent();
254
+
255
+ //hide normal input and add focus classes
256
+ $(elem)
257
+ .css("opacity", 0)
258
+ .bind({
259
+ "focus.uniform": function(){
260
+ divTag.addClass(options.focusClass);
261
+ },
262
+ "blur.uniform": function(){
263
+ divTag.removeClass(options.focusClass);
264
+ },
265
+ "click.uniform touchend.uniform": function(){
266
+ if(!$(elem).attr("checked")){
267
+ //box was just unchecked, uncheck span
268
+ spanTag.removeClass(options.checkedClass);
269
+ }else{
270
+ //box was just checked, check span.
271
+ spanTag.addClass(options.checkedClass);
272
+ }
273
+ },
274
+ "mousedown.uniform touchbegin.uniform": function() {
275
+ divTag.addClass(options.activeClass);
276
+ },
277
+ "mouseup.uniform touchend.uniform": function() {
278
+ divTag.removeClass(options.activeClass);
279
+ },
280
+ "mouseenter.uniform": function() {
281
+ divTag.addClass(options.hoverClass);
282
+ },
283
+ "mouseleave.uniform": function() {
284
+ divTag.removeClass(options.hoverClass);
285
+ divTag.removeClass(options.activeClass);
286
+ }
287
+ });
288
+
289
+ //handle defaults
290
+ if($(elem).attr("checked")){
291
+ //box is checked by default, check our box
292
+ spanTag.addClass(options.checkedClass);
293
+ }
294
+
295
+ //handle disabled state
296
+ if($(elem).attr("disabled")){
297
+ //box is checked by default, check our box
298
+ divTag.addClass(options.disabledClass);
299
+ }
300
+
301
+ storeElement(elem);
302
+ }
303
+
304
+ function doRadio(elem){
305
+ var $el = $(elem);
306
+
307
+ var divTag = $('<div />'),
308
+ spanTag = $('<span />');
309
+
310
+ if(!$el.css("display") == "none" && options.autoHide){
311
+ divTag.hide();
312
+ }
313
+
314
+ divTag.addClass(options.radioClass);
315
+
316
+ if(options.useID && elem.attr("id") != ""){
317
+ divTag.attr("id", options.idPrefix+"-"+elem.attr("id"));
318
+ }
319
+
320
+ //wrap with the proper elements
321
+ $(elem).wrap(divTag);
322
+ $(elem).wrap(spanTag);
323
+
324
+ //redefine variables
325
+ spanTag = elem.parent();
326
+ divTag = spanTag.parent();
327
+
328
+ //hide normal input and add focus classes
329
+ $(elem)
330
+ .css("opacity", 0)
331
+ .bind({
332
+ "focus.uniform": function(){
333
+ divTag.addClass(options.focusClass);
334
+ },
335
+ "blur.uniform": function(){
336
+ divTag.removeClass(options.focusClass);
337
+ },
338
+ "click.uniform touchend.uniform": function(){
339
+ if(!$(elem).attr("checked")){
340
+ //box was just unchecked, uncheck span
341
+ spanTag.removeClass(options.checkedClass);
342
+ }else{
343
+ //box was just checked, check span
344
+ var classes = options.radioClass.split(" ")[0];
345
+ $("." + classes + " span." + options.checkedClass + ":has([name='" + $(elem).attr('name') + "'])").removeClass(options.checkedClass);
346
+ spanTag.addClass(options.checkedClass);
347
+ }
348
+ },
349
+ "mousedown.uniform touchend.uniform": function() {
350
+ if(!$(elem).is(":disabled")){
351
+ divTag.addClass(options.activeClass);
352
+ }
353
+ },
354
+ "mouseup.uniform touchbegin.uniform": function() {
355
+ divTag.removeClass(options.activeClass);
356
+ },
357
+ "mouseenter.uniform touchend.uniform": function() {
358
+ divTag.addClass(options.hoverClass);
359
+ },
360
+ "mouseleave.uniform": function() {
361
+ divTag.removeClass(options.hoverClass);
362
+ divTag.removeClass(options.activeClass);
363
+ }
364
+ });
365
+
366
+ //handle defaults
367
+ if($(elem).attr("checked")){
368
+ //box is checked by default, check span
369
+ spanTag.addClass(options.checkedClass);
370
+ }
371
+ //handle disabled state
372
+ if($(elem).attr("disabled")){
373
+ //box is checked by default, check our box
374
+ divTag.addClass(options.disabledClass);
375
+ }
376
+
377
+ storeElement(elem);
378
+
379
+ }
380
+
381
+ function doFile(elem){
382
+ //sanitize input
383
+ var $el = $(elem);
384
+
385
+ var divTag = $('<div />'),
386
+ filenameTag = $('<span>'+options.fileDefaultText+'</span>'),
387
+ btnTag = $('<span>'+options.fileBtnText+'</span>');
388
+
389
+ if(!$el.css("display") == "none" && options.autoHide){
390
+ divTag.hide();
391
+ }
392
+
393
+ divTag.addClass(options.fileClass);
394
+ filenameTag.addClass(options.filenameClass);
395
+ btnTag.addClass(options.fileBtnClass);
396
+
397
+ if(options.useID && $el.attr("id") != ""){
398
+ divTag.attr("id", options.idPrefix+"-"+$el.attr("id"));
399
+ }
400
+
401
+ //wrap with the proper elements
402
+ $el.wrap(divTag);
403
+ $el.after(btnTag);
404
+ $el.after(filenameTag);
405
+
406
+ //redefine variables
407
+ divTag = $el.closest("div");
408
+ filenameTag = $el.siblings("."+options.filenameClass);
409
+ btnTag = $el.siblings("."+options.fileBtnClass);
410
+
411
+ //set the size
412
+ if(!$el.attr("size")){
413
+ var divWidth = divTag.width();
414
+ //$el.css("width", divWidth);
415
+ $el.attr("size", divWidth/10);
416
+ }
417
+
418
+ //actions
419
+ var setFilename = function()
420
+ {
421
+ var filename = $el.val();
422
+ if (filename === '')
423
+ {
424
+ filename = options.fileDefaultText;
425
+ }
426
+ else
427
+ {
428
+ filename = filename.split(/[\/\\]+/);
429
+ filename = filename[(filename.length-1)];
430
+ }
431
+ filenameTag.text(filename);
432
+ };
433
+
434
+ // Account for input saved across refreshes
435
+ setFilename();
436
+
437
+ $el
438
+ .css("opacity", 0)
439
+ .bind({
440
+ "focus.uniform": function(){
441
+ divTag.addClass(options.focusClass);
442
+ },
443
+ "blur.uniform": function(){
444
+ divTag.removeClass(options.focusClass);
445
+ },
446
+ "mousedown.uniform": function() {
447
+ if(!$(elem).is(":disabled")){
448
+ divTag.addClass(options.activeClass);
449
+ }
450
+ },
451
+ "mouseup.uniform": function() {
452
+ divTag.removeClass(options.activeClass);
453
+ },
454
+ "mouseenter.uniform": function() {
455
+ divTag.addClass(options.hoverClass);
456
+ },
457
+ "mouseleave.uniform": function() {
458
+ divTag.removeClass(options.hoverClass);
459
+ divTag.removeClass(options.activeClass);
460
+ }
461
+ });
462
+
463
+ // IE7 doesn't fire onChange until blur or second fire.
464
+ if ($.browser.msie){
465
+ // IE considers browser chrome blocking I/O, so it
466
+ // suspends tiemouts until after the file has been selected.
467
+ $el.bind('click.uniform.ie7', function() {
468
+ setTimeout(setFilename, 0);
469
+ });
470
+ }else{
471
+ // All other browsers behave properly
472
+ $el.bind('change.uniform', setFilename);
473
+ }
474
+
475
+ //handle defaults
476
+ if($el.attr("disabled")){
477
+ //box is checked by default, check our box
478
+ divTag.addClass(options.disabledClass);
479
+ }
480
+
481
+ $.uniform.noSelect(filenameTag);
482
+ $.uniform.noSelect(btnTag);
483
+
484
+ storeElement(elem);
485
+
486
+ }
487
+
488
+ $.uniform.restore = function(elem){
489
+ if(elem == undefined){
490
+ elem = $($.uniform.elements);
491
+ }
492
+
493
+ $(elem).each(function(){
494
+ if($(this).is(":checkbox")){
495
+ //unwrap from span and div
496
+ $(this).unwrap().unwrap();
497
+ }else if($(this).is("select")){
498
+ //remove sibling span
499
+ $(this).siblings("span").remove();
500
+ //unwrap parent div
501
+ $(this).unwrap();
502
+ }else if($(this).is(":radio")){
503
+ //unwrap from span and div
504
+ $(this).unwrap().unwrap();
505
+ }else if($(this).is(":file")){
506
+ //remove sibling spans
507
+ $(this).siblings("span").remove();
508
+ //unwrap parent div
509
+ $(this).unwrap();
510
+ }else if($(this).is("button, :submit, :reset, a, input[type='button']")){
511
+ //unwrap from span and div
512
+ $(this).unwrap().unwrap();
513
+ }
514
+
515
+ //unbind events
516
+ $(this).unbind(".uniform");
517
+
518
+ //reset inline style
519
+ $(this).css("opacity", "1");
520
+
521
+ //remove item from list of uniformed elements
522
+ var index = $.inArray($(elem), $.uniform.elements);
523
+ $.uniform.elements.splice(index, 1);
524
+ });
525
+ };
526
+
527
+ function storeElement(elem){
528
+ //store this element in our global array
529
+ elem = $(elem).get();
530
+ if(elem.length > 1){
531
+ $.each(elem, function(i, val){
532
+ $.uniform.elements.push(val);
533
+ });
534
+ }else{
535
+ $.uniform.elements.push(elem);
536
+ }
537
+ }
538
+
539
+ //noSelect v1.0
540
+ $.uniform.noSelect = function(elem) {
541
+ function f() {
542
+ return false;
543
+ };
544
+ $(elem).each(function() {
545
+ this.onselectstart = this.ondragstart = f; // Webkit & IE
546
+ $(this)
547
+ .mousedown(f) // Webkit & Opera
548
+ .css({ MozUserSelect: 'none' }); // Firefox
549
+ });
550
+ };
551
+
552
+ $.uniform.update = function(elem){
553
+ if(elem == undefined){
554
+ elem = $($.uniform.elements);
555
+ }
556
+ //sanitize input
557
+ elem = $(elem);
558
+
559
+ elem.each(function(){
560
+ //do to each item in the selector
561
+ //function to reset all classes
562
+ var $e = $(this);
563
+
564
+ if($e.is("select")){
565
+ //element is a select
566
+ var spanTag = $e.siblings("span");
567
+ var divTag = $e.parent("div");
568
+
569
+ divTag.removeClass(options.hoverClass+" "+options.focusClass+" "+options.activeClass);
570
+
571
+ //reset current selected text
572
+ spanTag.html($e.find(":selected").html());
573
+
574
+ if($e.is(":disabled")){
575
+ divTag.addClass(options.disabledClass);
576
+ }else{
577
+ divTag.removeClass(options.disabledClass);
578
+ }
579
+
580
+ }else if($e.is(":checkbox")){
581
+ //element is a checkbox
582
+ var spanTag = $e.closest("span");
583
+ var divTag = $e.closest("div");
584
+
585
+ divTag.removeClass(options.hoverClass+" "+options.focusClass+" "+options.activeClass);
586
+ spanTag.removeClass(options.checkedClass);
587
+
588
+ if($e.is(":checked")){
589
+ spanTag.addClass(options.checkedClass);
590
+ }
591
+ if($e.is(":disabled")){
592
+ divTag.addClass(options.disabledClass);
593
+ }else{
594
+ divTag.removeClass(options.disabledClass);
595
+ }
596
+
597
+ }else if($e.is(":radio")){
598
+ //element is a radio
599
+ var spanTag = $e.closest("span");
600
+ var divTag = $e.closest("div");
601
+
602
+ divTag.removeClass(options.hoverClass+" "+options.focusClass+" "+options.activeClass);
603
+ spanTag.removeClass(options.checkedClass);
604
+
605
+ if($e.is(":checked")){
606
+ spanTag.addClass(options.checkedClass);
607
+ }
608
+
609
+ if($e.is(":disabled")){
610
+ divTag.addClass(options.disabledClass);
611
+ }else{
612
+ divTag.removeClass(options.disabledClass);
613
+ }
614
+ }else if($e.is(":file")){
615
+ var divTag = $e.parent("div");
616
+ var filenameTag = $e.siblings(options.filenameClass);
617
+ btnTag = $e.siblings(options.fileBtnClass);
618
+
619
+ divTag.removeClass(options.hoverClass+" "+options.focusClass+" "+options.activeClass);
620
+
621
+ filenameTag.text($e.val());
622
+
623
+ if($e.is(":disabled")){
624
+ divTag.addClass(options.disabledClass);
625
+ }else{
626
+ divTag.removeClass(options.disabledClass);
627
+ }
628
+ }else if($e.is(":submit") || $e.is(":reset") || $e.is("button") || $e.is("a") || elem.is("input[type=button]")){
629
+ var divTag = $e.closest("div");
630
+ divTag.removeClass(options.hoverClass+" "+options.focusClass+" "+options.activeClass);
631
+
632
+ if($e.is(":disabled")){
633
+ divTag.addClass(options.disabledClass);
634
+ }else{
635
+ divTag.removeClass(options.disabledClass);
636
+ }
637
+
638
+ }
639
+
640
+ });
641
+ };
642
+
643
+ return this.each(function() {
644
+ if($.support.selectOpacity){
645
+ var elem = $(this);
646
+
647
+ if(elem.is("select")){
648
+ //element is a select
649
+ if(elem.attr("multiple") != true){
650
+ //element is not a multi-select
651
+ if(elem.attr("size") == undefined || elem.attr("size") <= 1){
652
+ doSelect(elem);
653
+ }
654
+ }
655
+ }else if(elem.is(":checkbox")){
656
+ //element is a checkbox
657
+ doCheckbox(elem);
658
+ }else if(elem.is(":radio")){
659
+ //element is a radio
660
+ doRadio(elem);
661
+ }else if(elem.is(":file")){
662
+ //element is a file upload
663
+ doFile(elem);
664
+ }else if(elem.is(":text, :password, input[type='email']")){
665
+ doInput(elem);
666
+ }else if(elem.is("textarea")){
667
+ doTextarea(elem);
668
+ }else if(elem.is("a") || elem.is(":submit") || elem.is(":reset") || elem.is("button") || elem.is("input[type=button]")){
669
+ doButton(elem);
670
+ }
671
+
672
+ }
673
+ });
674
+ };
675
+ })(jQuery);
676
+ ;
677
+ TI"
678
+ F"%5c314c432c0e5a1786975f73981811da