webshims-rails 0.4.5 → 0.4.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (101) hide show
  1. data/lib/webshims-rails/version.rb +2 -2
  2. data/vendor/assets/javascripts/webshims/extras/custom-validity.js +253 -253
  3. data/vendor/assets/javascripts/webshims/extras/modernizr-custom.js +534 -534
  4. data/vendor/assets/javascripts/webshims/extras/mousepress.js +60 -60
  5. data/vendor/assets/javascripts/webshims/minified/polyfiller.js +1 -1
  6. data/vendor/assets/javascripts/webshims/minified/shims/combos/10.js +1 -1
  7. data/vendor/assets/javascripts/webshims/minified/shims/combos/12.js +1 -1
  8. data/vendor/assets/javascripts/webshims/minified/shims/combos/16.js +1 -1
  9. data/vendor/assets/javascripts/webshims/minified/shims/combos/17.js +1 -1
  10. data/vendor/assets/javascripts/webshims/minified/shims/combos/19.js +1 -1
  11. data/vendor/assets/javascripts/webshims/minified/shims/combos/2.js +1 -1
  12. data/vendor/assets/javascripts/webshims/minified/shims/combos/20.js +1 -1
  13. data/vendor/assets/javascripts/webshims/minified/shims/combos/21.js +1 -1
  14. data/vendor/assets/javascripts/webshims/minified/shims/combos/22.js +1 -1
  15. data/vendor/assets/javascripts/webshims/minified/shims/combos/23.js +1 -1
  16. data/vendor/assets/javascripts/webshims/minified/shims/combos/24.js +1 -1
  17. data/vendor/assets/javascripts/webshims/minified/shims/combos/25.js +1 -1
  18. data/vendor/assets/javascripts/webshims/minified/shims/combos/26.js +1 -1
  19. data/vendor/assets/javascripts/webshims/minified/shims/combos/27.js +1 -1
  20. data/vendor/assets/javascripts/webshims/minified/shims/combos/3.js +1 -1
  21. data/vendor/assets/javascripts/webshims/minified/shims/combos/4.js +1 -1
  22. data/vendor/assets/javascripts/webshims/minified/shims/combos/5.js +1 -1
  23. data/vendor/assets/javascripts/webshims/minified/shims/combos/59.js +1 -1
  24. data/vendor/assets/javascripts/webshims/minified/shims/combos/8.js +1 -1
  25. data/vendor/assets/javascripts/webshims/minified/shims/combos/9.js +1 -1
  26. data/vendor/assets/javascripts/webshims/minified/shims/form-core.js +1 -1
  27. data/vendor/assets/javascripts/webshims/minified/shims/form-message.js +1 -1
  28. data/vendor/assets/javascripts/webshims/minified/shims/i18n/errormessages-de.txt +33 -33
  29. data/vendor/assets/javascripts/webshims/minified/shims/i18n/errormessages-en.txt +34 -34
  30. data/vendor/assets/javascripts/webshims/minified/shims/mediaelement-core.js +1 -1
  31. data/vendor/assets/javascripts/webshims/minified/shims/mediaelement-jaris.js +1 -1
  32. data/vendor/assets/javascripts/webshims/minified/shims/mediaelement-swf.js +1 -1
  33. data/vendor/assets/javascripts/webshims/minified/shims/swf/JarisFLVPlayer.swf +0 -0
  34. data/vendor/assets/javascripts/webshims/polyfiller.js +1188 -1188
  35. data/vendor/assets/javascripts/webshims/shims/FlashCanvasPro/README +82 -82
  36. data/vendor/assets/javascripts/webshims/shims/combos/1.js +1752 -1752
  37. data/vendor/assets/javascripts/webshims/shims/combos/10.js +3310 -3311
  38. data/vendor/assets/javascripts/webshims/shims/combos/11.js +1631 -1631
  39. data/vendor/assets/javascripts/webshims/shims/combos/12.js +1695 -1696
  40. data/vendor/assets/javascripts/webshims/shims/combos/13.js +1098 -1098
  41. data/vendor/assets/javascripts/webshims/shims/combos/14.js +477 -477
  42. data/vendor/assets/javascripts/webshims/shims/combos/15.js +317 -317
  43. data/vendor/assets/javascripts/webshims/shims/combos/16.js +2177 -2154
  44. data/vendor/assets/javascripts/webshims/shims/combos/17.js +2354 -2319
  45. data/vendor/assets/javascripts/webshims/shims/combos/18.js +1322 -1322
  46. data/vendor/assets/javascripts/webshims/shims/combos/19.js +2262 -2238
  47. data/vendor/assets/javascripts/webshims/shims/combos/2.js +2376 -2340
  48. data/vendor/assets/javascripts/webshims/shims/combos/20.js +1557 -1558
  49. data/vendor/assets/javascripts/webshims/shims/combos/21.js +1745 -1733
  50. data/vendor/assets/javascripts/webshims/shims/combos/22.js +2360 -2361
  51. data/vendor/assets/javascripts/webshims/shims/combos/23.js +2342 -2331
  52. data/vendor/assets/javascripts/webshims/shims/combos/24.js +2859 -2836
  53. data/vendor/assets/javascripts/webshims/shims/combos/25.js +1547 -1548
  54. data/vendor/assets/javascripts/webshims/shims/combos/26.js +2178 -2155
  55. data/vendor/assets/javascripts/webshims/shims/combos/27.js +3311 -3312
  56. data/vendor/assets/javascripts/webshims/shims/combos/3.js +3058 -3022
  57. data/vendor/assets/javascripts/webshims/shims/combos/4.js +807 -771
  58. data/vendor/assets/javascripts/webshims/shims/combos/5.js +1063 -1027
  59. data/vendor/assets/javascripts/webshims/shims/combos/59.js +1745 -1709
  60. data/vendor/assets/javascripts/webshims/shims/combos/6.js +384 -384
  61. data/vendor/assets/javascripts/webshims/shims/combos/7.js +640 -640
  62. data/vendor/assets/javascripts/webshims/shims/combos/8.js +1546 -1547
  63. data/vendor/assets/javascripts/webshims/shims/combos/9.js +2507 -2508
  64. data/vendor/assets/javascripts/webshims/shims/details.js +148 -148
  65. data/vendor/assets/javascripts/webshims/shims/dom-extend.js +949 -949
  66. data/vendor/assets/javascripts/webshims/shims/es5.js +802 -802
  67. data/vendor/assets/javascripts/webshims/shims/excanvas.js +924 -924
  68. data/vendor/assets/javascripts/webshims/shims/form-core.js +630 -606
  69. data/vendor/assets/javascripts/webshims/shims/form-datalist.js +681 -681
  70. data/vendor/assets/javascripts/webshims/shims/form-message.js +176 -164
  71. data/vendor/assets/javascripts/webshims/shims/form-native-extend.js +255 -255
  72. data/vendor/assets/javascripts/webshims/shims/form-number-date-api.js +383 -383
  73. data/vendor/assets/javascripts/webshims/shims/form-shim-extend.js +1568 -1568
  74. data/vendor/assets/javascripts/webshims/shims/geolocation.js +168 -168
  75. data/vendor/assets/javascripts/webshims/shims/i18n/errormessages-ar.js +32 -32
  76. data/vendor/assets/javascripts/webshims/shims/i18n/errormessages-ch-ZN.js +32 -32
  77. data/vendor/assets/javascripts/webshims/shims/i18n/errormessages-de.txt +33 -33
  78. data/vendor/assets/javascripts/webshims/shims/i18n/errormessages-el.js +32 -32
  79. data/vendor/assets/javascripts/webshims/shims/i18n/errormessages-en.txt +34 -34
  80. data/vendor/assets/javascripts/webshims/shims/i18n/errormessages-es.js +31 -31
  81. data/vendor/assets/javascripts/webshims/shims/i18n/errormessages-fr.js +32 -32
  82. data/vendor/assets/javascripts/webshims/shims/i18n/errormessages-he.js +32 -32
  83. data/vendor/assets/javascripts/webshims/shims/i18n/errormessages-hi.js +32 -32
  84. data/vendor/assets/javascripts/webshims/shims/i18n/errormessages-hu.js +32 -32
  85. data/vendor/assets/javascripts/webshims/shims/i18n/errormessages-it.js +32 -32
  86. data/vendor/assets/javascripts/webshims/shims/i18n/errormessages-ja.js +32 -32
  87. data/vendor/assets/javascripts/webshims/shims/i18n/errormessages-nl.js +32 -32
  88. data/vendor/assets/javascripts/webshims/shims/i18n/errormessages-pt-PT.js +32 -32
  89. data/vendor/assets/javascripts/webshims/shims/i18n/errormessages-ru.js +31 -31
  90. data/vendor/assets/javascripts/webshims/shims/i18n/errormessages-sv.js +32 -32
  91. data/vendor/assets/javascripts/webshims/shims/json-storage.js +308 -308
  92. data/vendor/assets/javascripts/webshims/shims/mediaelement-core.js +596 -597
  93. data/vendor/assets/javascripts/webshims/shims/mediaelement-jaris.js +891 -891
  94. data/vendor/assets/javascripts/webshims/shims/mediaelement-native-fix.js +98 -98
  95. data/vendor/assets/javascripts/webshims/shims/mediaelement-swf.js +960 -960
  96. data/vendor/assets/javascripts/webshims/shims/mediaelement-yt.js +543 -543
  97. data/vendor/assets/javascripts/webshims/shims/styles/shim.css +697 -697
  98. data/vendor/assets/javascripts/webshims/shims/swf/JarisFLVPlayer.swf +0 -0
  99. metadata +2 -4
  100. data/vendor/assets/javascripts/webshims/minified/shims/range-ui.js +0 -1
  101. data/vendor/assets/javascripts/webshims/shims/range-ui.js +0 -66
@@ -1,535 +1,535 @@
1
- /* Modernizr 2.6.2 (Custom Build) | MIT & BSD
2
- * Build: http://modernizr.com/download/#-canvas-audio-video-input-inputtypes-localstorage-sessionstorage-geolocation-shiv-cssclasses-addtest-prefixed-testprop-testallprops-prefixes-domprefixes-elem_track-load
3
- */
4
- ;
5
-
6
-
7
-
8
- window.Modernizr = (function( window, document, undefined ) {
9
-
10
- var version = '2.6.2',
11
-
12
- Modernizr = {},
13
-
14
- enableClasses = true,
15
-
16
- docElement = document.documentElement,
17
-
18
- mod = 'modernizr',
19
- modElem = document.createElement(mod),
20
- mStyle = modElem.style,
21
-
22
- inputElem = document.createElement('input') ,
23
-
24
- smile = ':)',
25
-
26
- toString = {}.toString,
27
-
28
- prefixes = ' -webkit- -moz- -o- -ms- '.split(' '),
29
-
30
-
31
-
32
- omPrefixes = 'Webkit Moz O ms',
33
-
34
- cssomPrefixes = omPrefixes.split(' '),
35
-
36
- domPrefixes = omPrefixes.toLowerCase().split(' '),
37
-
38
-
39
- tests = {},
40
- inputs = {},
41
- attrs = {},
42
-
43
- classes = [],
44
-
45
- slice = classes.slice,
46
-
47
- featureName,
48
-
49
-
50
-
51
- _hasOwnProperty = ({}).hasOwnProperty, hasOwnProp;
52
-
53
- if ( !is(_hasOwnProperty, 'undefined') && !is(_hasOwnProperty.call, 'undefined') ) {
54
- hasOwnProp = function (object, property) {
55
- return _hasOwnProperty.call(object, property);
56
- };
57
- }
58
- else {
59
- hasOwnProp = function (object, property) {
60
- return ((property in object) && is(object.constructor.prototype[property], 'undefined'));
61
- };
62
- }
63
-
64
-
65
- if (!Function.prototype.bind) {
66
- Function.prototype.bind = function bind(that) {
67
-
68
- var target = this;
69
-
70
- if (typeof target != "function") {
71
- throw new TypeError();
72
- }
73
-
74
- var args = slice.call(arguments, 1),
75
- bound = function () {
76
-
77
- if (this instanceof bound) {
78
-
79
- var F = function(){};
80
- F.prototype = target.prototype;
81
- var self = new F();
82
-
83
- var result = target.apply(
84
- self,
85
- args.concat(slice.call(arguments))
86
- );
87
- if (Object(result) === result) {
88
- return result;
89
- }
90
- return self;
91
-
92
- } else {
93
-
94
- return target.apply(
95
- that,
96
- args.concat(slice.call(arguments))
97
- );
98
-
99
- }
100
-
101
- };
102
-
103
- return bound;
104
- };
105
- }
106
-
107
- function setCss( str ) {
108
- mStyle.cssText = str;
109
- }
110
-
111
- function setCssAll( str1, str2 ) {
112
- return setCss(prefixes.join(str1 + ';') + ( str2 || '' ));
113
- }
114
-
115
- function is( obj, type ) {
116
- return typeof obj === type;
117
- }
118
-
119
- function contains( str, substr ) {
120
- return !!~('' + str).indexOf(substr);
121
- }
122
-
123
- function testProps( props, prefixed ) {
124
- for ( var i in props ) {
125
- var prop = props[i];
126
- if ( !contains(prop, "-") && mStyle[prop] !== undefined ) {
127
- return prefixed == 'pfx' ? prop : true;
128
- }
129
- }
130
- return false;
131
- }
132
-
133
- function testDOMProps( props, obj, elem ) {
134
- for ( var i in props ) {
135
- var item = obj[props[i]];
136
- if ( item !== undefined) {
137
-
138
- if (elem === false) return props[i];
139
-
140
- if (is(item, 'function')){
141
- return item.bind(elem || obj);
142
- }
143
-
144
- return item;
145
- }
146
- }
147
- return false;
148
- }
149
-
150
- function testPropsAll( prop, prefixed, elem ) {
151
-
152
- var ucProp = prop.charAt(0).toUpperCase() + prop.slice(1),
153
- props = (prop + ' ' + cssomPrefixes.join(ucProp + ' ') + ucProp).split(' ');
154
-
155
- if(is(prefixed, "string") || is(prefixed, "undefined")) {
156
- return testProps(props, prefixed);
157
-
158
- } else {
159
- props = (prop + ' ' + (domPrefixes).join(ucProp + ' ') + ucProp).split(' ');
160
- return testDOMProps(props, prefixed, elem);
161
- }
162
- }
163
-
164
-
165
-
166
- tests['canvas'] = function() {
167
- var elem = document.createElement('canvas');
168
- return !!(elem.getContext && elem.getContext('2d'));
169
- }; tests['geolocation'] = function() {
170
- return 'geolocation' in navigator;
171
- };
172
-
173
-
174
- tests['video'] = function() {
175
- var elem = document.createElement('video'),
176
- bool = false;
177
-
178
- try {
179
- if ( bool = !!elem.canPlayType ) {
180
- bool = new Boolean(bool);
181
- bool.ogg = elem.canPlayType('video/ogg; codecs="theora"') .replace(/^no$/,'');
182
-
183
- bool.h264 = elem.canPlayType('video/mp4; codecs="avc1.42E01E"') .replace(/^no$/,'');
184
-
185
- bool.webm = elem.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,'');
186
- }
187
-
188
- } catch(e) { }
189
-
190
- return bool;
191
- };
192
-
193
- tests['audio'] = function() {
194
- var elem = document.createElement('audio'),
195
- bool = false;
196
-
197
- try {
198
- if ( bool = !!elem.canPlayType ) {
199
- bool = new Boolean(bool);
200
- bool.ogg = elem.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,'');
201
- bool.mp3 = elem.canPlayType('audio/mpeg;') .replace(/^no$/,'');
202
-
203
- bool.wav = elem.canPlayType('audio/wav; codecs="1"') .replace(/^no$/,'');
204
- bool.m4a = ( elem.canPlayType('audio/x-m4a;') ||
205
- elem.canPlayType('audio/aac;')) .replace(/^no$/,'');
206
- }
207
- } catch(e) { }
208
-
209
- return bool;
210
- };
211
-
212
-
213
- tests['localstorage'] = function() {
214
- try {
215
- localStorage.setItem(mod, mod);
216
- localStorage.removeItem(mod);
217
- return true;
218
- } catch(e) {
219
- return false;
220
- }
221
- };
222
-
223
- tests['sessionstorage'] = function() {
224
- try {
225
- sessionStorage.setItem(mod, mod);
226
- sessionStorage.removeItem(mod);
227
- return true;
228
- } catch(e) {
229
- return false;
230
- }
231
- };
232
-
233
- function webforms() {
234
- Modernizr['input'] = (function( props ) {
235
- for ( var i = 0, len = props.length; i < len; i++ ) {
236
- attrs[ props[i] ] = !!(props[i] in inputElem);
237
- }
238
- if (attrs.list){
239
- attrs.list = !!(document.createElement('datalist') && window.HTMLDataListElement);
240
- }
241
- return attrs;
242
- })('autocomplete autofocus list placeholder max min multiple pattern required step'.split(' '));
243
- Modernizr['inputtypes'] = (function(props) {
244
-
245
- for ( var i = 0, bool, inputElemType, defaultView, len = props.length; i < len; i++ ) {
246
-
247
- inputElem.setAttribute('type', inputElemType = props[i]);
248
- bool = inputElem.type !== 'text';
249
-
250
- if ( bool ) {
251
-
252
- inputElem.value = smile;
253
- inputElem.style.cssText = 'position:absolute;visibility:hidden;';
254
-
255
- if ( /^range$/.test(inputElemType) && inputElem.style.WebkitAppearance !== undefined ) {
256
-
257
- docElement.appendChild(inputElem);
258
- defaultView = document.defaultView;
259
-
260
- bool = defaultView.getComputedStyle &&
261
- defaultView.getComputedStyle(inputElem, null).WebkitAppearance !== 'textfield' &&
262
- (inputElem.offsetHeight !== 0);
263
-
264
- docElement.removeChild(inputElem);
265
-
266
- } else if ( /^(search|tel)$/.test(inputElemType) ){
267
- } else if ( /^(url|email)$/.test(inputElemType) ) {
268
- bool = inputElem.checkValidity && inputElem.checkValidity() === false;
269
-
270
- } else {
271
- bool = inputElem.value != smile;
272
- }
273
- }
274
-
275
- inputs[ props[i] ] = !!bool;
276
- }
277
- return inputs;
278
- })('search tel url email datetime date month week time datetime-local number range color'.split(' '));
279
- }
280
- for ( var feature in tests ) {
281
- if ( hasOwnProp(tests, feature) ) {
282
- featureName = feature.toLowerCase();
283
- Modernizr[featureName] = tests[feature]();
284
-
285
- classes.push((Modernizr[featureName] ? '' : 'no-') + featureName);
286
- }
287
- }
288
-
289
- Modernizr.input || webforms();
290
-
291
-
292
- Modernizr.addTest = function ( feature, test ) {
293
- if ( typeof feature == 'object' ) {
294
- for ( var key in feature ) {
295
- if ( hasOwnProp( feature, key ) ) {
296
- Modernizr.addTest( key, feature[ key ] );
297
- }
298
- }
299
- } else {
300
-
301
- feature = feature.toLowerCase();
302
-
303
- if ( Modernizr[feature] !== undefined ) {
304
- return Modernizr;
305
- }
306
-
307
- test = typeof test == 'function' ? test() : test;
308
-
309
- if (typeof enableClasses !== "undefined" && enableClasses) {
310
- docElement.className += ' ' + (test ? '' : 'no-') + feature;
311
- }
312
- Modernizr[feature] = test;
313
-
314
- }
315
-
316
- return Modernizr;
317
- };
318
-
319
-
320
- setCss('');
321
- modElem = inputElem = null;
322
-
323
- ;(function(window, document) {
324
- var options = window.html5 || {};
325
-
326
- var reSkip = /^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i;
327
-
328
- var saveClones = /^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i;
329
-
330
- var supportsHtml5Styles;
331
-
332
- var expando = '_html5shiv';
333
-
334
- var expanID = 0;
335
-
336
- var expandoData = {};
337
-
338
- var supportsUnknownElements;
339
-
340
- (function() {
341
- try {
342
- var a = document.createElement('a');
343
- a.innerHTML = '<xyz></xyz>';
344
- supportsHtml5Styles = ('hidden' in a);
345
-
346
- supportsUnknownElements = a.childNodes.length == 1 || (function() {
347
- (document.createElement)('a');
348
- var frag = document.createDocumentFragment();
349
- return (
350
- typeof frag.cloneNode == 'undefined' ||
351
- typeof frag.createDocumentFragment == 'undefined' ||
352
- typeof frag.createElement == 'undefined'
353
- );
354
- }());
355
- } catch(e) {
356
- supportsHtml5Styles = true;
357
- supportsUnknownElements = true;
358
- }
359
-
360
- }()); function addStyleSheet(ownerDocument, cssText) {
361
- var p = ownerDocument.createElement('p'),
362
- parent = ownerDocument.getElementsByTagName('head')[0] || ownerDocument.documentElement;
363
-
364
- p.innerHTML = 'x<style>' + cssText + '</style>';
365
- return parent.insertBefore(p.lastChild, parent.firstChild);
366
- }
367
-
368
- function getElements() {
369
- var elements = html5.elements;
370
- return typeof elements == 'string' ? elements.split(' ') : elements;
371
- }
372
-
373
- function getExpandoData(ownerDocument) {
374
- var data = expandoData[ownerDocument[expando]];
375
- if (!data) {
376
- data = {};
377
- expanID++;
378
- ownerDocument[expando] = expanID;
379
- expandoData[expanID] = data;
380
- }
381
- return data;
382
- }
383
-
384
- function createElement(nodeName, ownerDocument, data){
385
- if (!ownerDocument) {
386
- ownerDocument = document;
387
- }
388
- if(supportsUnknownElements){
389
- return ownerDocument.createElement(nodeName);
390
- }
391
- if (!data) {
392
- data = getExpandoData(ownerDocument);
393
- }
394
- var node;
395
-
396
- if (data.cache[nodeName]) {
397
- node = data.cache[nodeName].cloneNode();
398
- } else if (saveClones.test(nodeName)) {
399
- node = (data.cache[nodeName] = data.createElem(nodeName)).cloneNode();
400
- } else {
401
- node = data.createElem(nodeName);
402
- }
403
-
404
- return node.canHaveChildren && !reSkip.test(nodeName) ? data.frag.appendChild(node) : node;
405
- }
406
-
407
- function createDocumentFragment(ownerDocument, data){
408
- if (!ownerDocument) {
409
- ownerDocument = document;
410
- }
411
- if(supportsUnknownElements){
412
- return ownerDocument.createDocumentFragment();
413
- }
414
- data = data || getExpandoData(ownerDocument);
415
- var clone = data.frag.cloneNode(),
416
- i = 0,
417
- elems = getElements(),
418
- l = elems.length;
419
- for(;i<l;i++){
420
- clone.createElement(elems[i]);
421
- }
422
- return clone;
423
- }
424
-
425
- function shivMethods(ownerDocument, data) {
426
- if (!data.cache) {
427
- data.cache = {};
428
- data.createElem = ownerDocument.createElement;
429
- data.createFrag = ownerDocument.createDocumentFragment;
430
- data.frag = data.createFrag();
431
- }
432
-
433
-
434
- ownerDocument.createElement = function(nodeName) {
435
- if (!html5.shivMethods) {
436
- return data.createElem(nodeName);
437
- }
438
- return createElement(nodeName, ownerDocument, data);
439
- };
440
-
441
- ownerDocument.createDocumentFragment = Function('h,f', 'return function(){' +
442
- 'var n=f.cloneNode(),c=n.createElement;' +
443
- 'h.shivMethods&&(' +
444
- getElements().join().replace(/\w+/g, function(nodeName) {
445
- data.createElem(nodeName);
446
- data.frag.createElement(nodeName);
447
- return 'c("' + nodeName + '")';
448
- }) +
449
- ');return n}'
450
- )(html5, data.frag);
451
- } function shivDocument(ownerDocument) {
452
- if (!ownerDocument) {
453
- ownerDocument = document;
454
- }
455
- var data = getExpandoData(ownerDocument);
456
-
457
- if (html5.shivCSS && !supportsHtml5Styles && !data.hasCSS) {
458
- data.hasCSS = !!addStyleSheet(ownerDocument,
459
- 'article,aside,figcaption,figure,footer,header,hgroup,nav,section{display:block}' +
460
- 'mark{background:#FF0;color:#000}'
461
- );
462
- }
463
- if (!supportsUnknownElements) {
464
- shivMethods(ownerDocument, data);
465
- }
466
- return ownerDocument;
467
- } var html5 = {
468
-
469
- 'elements': options.elements || 'abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video',
470
-
471
- 'shivCSS': (options.shivCSS !== false),
472
-
473
- 'supportsUnknownElements': supportsUnknownElements,
474
-
475
- 'shivMethods': (options.shivMethods !== false),
476
-
477
- 'type': 'default',
478
-
479
- 'shivDocument': shivDocument,
480
-
481
- createElement: createElement,
482
-
483
- createDocumentFragment: createDocumentFragment
484
- }; window.html5 = html5;
485
-
486
- shivDocument(document);
487
-
488
- }(this, document));
489
-
490
- Modernizr._version = version;
491
-
492
- Modernizr._prefixes = prefixes;
493
- Modernizr._domPrefixes = domPrefixes;
494
- Modernizr._cssomPrefixes = cssomPrefixes;
495
-
496
-
497
-
498
- Modernizr.testProp = function(prop){
499
- return testProps([prop]);
500
- };
501
-
502
- Modernizr.testAllProps = testPropsAll;
503
-
504
-
505
- Modernizr.prefixed = function(prop, obj, elem){
506
- if(!obj) {
507
- return testPropsAll(prop, 'pfx');
508
- } else {
509
- return testPropsAll(prop, obj, elem);
510
- }
511
- };
512
-
513
-
514
- docElement.className = docElement.className.replace(/(^|\s)no-js(\s|$)/, '$1$2') +
515
-
516
- (enableClasses ? ' js ' + classes.join(' ') : '');
517
-
518
- return Modernizr;
519
-
520
- })(this, this.document);
521
- /*yepnope1.5.4|WTFPL*/
522
- (function(a,b,c){function d(a){return"[object Function]"==o.call(a)}function e(a){return"string"==typeof a}function f(){}function g(a){return!a||"loaded"==a||"complete"==a||"uninitialized"==a}function h(){var a=p.shift();q=1,a?a.t?m(function(){("c"==a.t?B.injectCss:B.injectJs)(a.s,0,a.a,a.x,a.e,1)},0):(a(),h()):q=0}function i(a,c,d,e,f,i,j){function k(b){if(!o&&g(l.readyState)&&(u.r=o=1,!q&&h(),l.onload=l.onreadystatechange=null,b)){"img"!=a&&m(function(){t.removeChild(l)},50);for(var d in y[c])y[c].hasOwnProperty(d)&&y[c][d].onload()}}var j=j||B.errorTimeout,l=b.createElement(a),o=0,r=0,u={t:d,s:c,e:f,a:i,x:j};1===y[c]&&(r=1,y[c]=[]),"object"==a?l.data=c:(l.src=c,l.type=a),l.width=l.height="0",l.onerror=l.onload=l.onreadystatechange=function(){k.call(this,r)},p.splice(e,0,u),"img"!=a&&(r||2===y[c]?(t.insertBefore(l,s?null:n),m(k,j)):y[c].push(l))}function j(a,b,c,d,f){return q=0,b=b||"j",e(a)?i("c"==b?v:u,a,b,this.i++,c,d,f):(p.splice(this.i++,0,a),1==p.length&&h()),this}function k(){var a=B;return a.loader={load:j,i:0},a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=s?l:n.parentNode,l=a.opera&&"[object Opera]"==o.call(a.opera),l=!!b.attachEvent&&!l,u=r?"object":l?"script":"img",v=l?"script":u,w=Array.isArray||function(a){return"[object Array]"==o.call(a)},x=[],y={},z={timeout:function(a,b){return b.length&&(a.timeout=b[0]),a}},A,B;B=function(a){function b(a){var a=a.split("!"),b=x.length,c=a.pop(),d=a.length,c={url:c,origUrl:c,prefixes:a},e,f,g;for(f=0;f<d;f++)g=a[f].split("="),(e=z[g.shift()])&&(c=e(c,g));for(f=0;f<b;f++)c=x[f](c);return c}function g(a,e,f,g,h){var i=b(a),j=i.autoCallback;i.url.split(".").pop().split("?").shift(),i.bypass||(e&&(e=d(e)?e:e[a]||e[g]||e[a.split("/").pop().split("?")[0]]),i.instead?i.instead(a,e,f,g,h):(y[i.url]?i.noexec=!0:y[i.url]=1,f.load(i.url,i.forceCSS||!i.forceJS&&"css"==i.url.split(".").pop().split("?").shift()?"c":c,i.noexec,i.attrs,i.timeout),(d(e)||d(j))&&f.load(function(){k(),e&&e(i.origUrl,h,g),j&&j(i.origUrl,h,g),y[i.url]=2})))}function h(a,b){function c(a,c){if(a){if(e(a))c||(j=function(){var a=[].slice.call(arguments);k.apply(this,a),l()}),g(a,j,b,0,h);else if(Object(a)===a)for(n in m=function(){var b=0,c;for(c in a)a.hasOwnProperty(c)&&b++;return b}(),a)a.hasOwnProperty(n)&&(!c&&!--m&&(d(j)?j=function(){var a=[].slice.call(arguments);k.apply(this,a),l()}:j[n]=function(a){return function(){var b=[].slice.call(arguments);a&&a.apply(this,b),l()}}(k[n])),g(a[n],j,b,n,h))}else!c&&l()}var h=!!a.test,i=a.load||a.both,j=a.callback||f,k=j,l=a.complete||f,m,n;c(h?a.yep:a.nope,!!i),i&&c(i)}var i,j,l=this.yepnope.loader;if(e(a))g(a,0,l,0);else if(w(a))for(i=0;i<a.length;i++)j=a[i],e(j)?g(j,0,l,0):w(j)?B(j):Object(j)===j&&h(j,l);else Object(a)===a&&h(a,l)},B.addPrefix=function(a,b){z[a]=b},B.addFilter=function(a){x.push(a)},B.errorTimeout=1e4,null==b.readyState&&b.addEventListener&&(b.readyState="loading",b.addEventListener("DOMContentLoaded",A=function(){b.removeEventListener("DOMContentLoaded",A,0),b.readyState="complete"},0)),a.yepnope=k(),a.yepnope.executeStack=h,a.yepnope.injectJs=function(a,c,d,e,i,j){var k=b.createElement("script"),l,o,e=e||B.errorTimeout;k.src=a;for(o in d)k.setAttribute(o,d[o]);c=j?h:c||f,k.onreadystatechange=k.onload=function(){!l&&g(k.readyState)&&(l=1,c(),k.onload=k.onreadystatechange=null)},m(function(){l||(l=1,c(1))},e),i?k.onload():n.parentNode.insertBefore(k,n)},a.yepnope.injectCss=function(a,c,d,e,g,i){var e=b.createElement("link"),j,c=i?h:c||f;e.href=a,e.rel="stylesheet",e.type="text/css";for(j in d)e.setAttribute(j,d[j]);g||(n.parentNode.insertBefore(e,n),m(c,0))}})(this,document);
523
- Modernizr.load=function(){yepnope.apply(window,[].slice.call(arguments,0));};
524
- // Track element + Timed Text Track API
525
- // http://www.w3.org/TR/html5/video.html#the-track-element
526
- // http://www.w3.org/TR/html5/media-elements.html#text-track-api
527
- //
528
- // While IE10 has implemented the track element, IE10 does not expose the underlying APIs to create timed text tracks by JS (really sad)
529
- // By Addy Osmani
530
- Modernizr.addTest({
531
- texttrackapi: (typeof (document.createElement('video').addTextTrack) === 'function'),
532
- // a more strict test for track including UI support: document.createElement('track').kind === 'subtitles'
533
- track: ('kind' in document.createElement('track'))
534
- });
1
+ /* Modernizr 2.6.2 (Custom Build) | MIT & BSD
2
+ * Build: http://modernizr.com/download/#-canvas-audio-video-input-inputtypes-localstorage-sessionstorage-geolocation-shiv-cssclasses-addtest-prefixed-testprop-testallprops-prefixes-domprefixes-elem_track-load
3
+ */
4
+ ;
5
+
6
+
7
+
8
+ window.Modernizr = (function( window, document, undefined ) {
9
+
10
+ var version = '2.6.2',
11
+
12
+ Modernizr = {},
13
+
14
+ enableClasses = true,
15
+
16
+ docElement = document.documentElement,
17
+
18
+ mod = 'modernizr',
19
+ modElem = document.createElement(mod),
20
+ mStyle = modElem.style,
21
+
22
+ inputElem = document.createElement('input') ,
23
+
24
+ smile = ':)',
25
+
26
+ toString = {}.toString,
27
+
28
+ prefixes = ' -webkit- -moz- -o- -ms- '.split(' '),
29
+
30
+
31
+
32
+ omPrefixes = 'Webkit Moz O ms',
33
+
34
+ cssomPrefixes = omPrefixes.split(' '),
35
+
36
+ domPrefixes = omPrefixes.toLowerCase().split(' '),
37
+
38
+
39
+ tests = {},
40
+ inputs = {},
41
+ attrs = {},
42
+
43
+ classes = [],
44
+
45
+ slice = classes.slice,
46
+
47
+ featureName,
48
+
49
+
50
+
51
+ _hasOwnProperty = ({}).hasOwnProperty, hasOwnProp;
52
+
53
+ if ( !is(_hasOwnProperty, 'undefined') && !is(_hasOwnProperty.call, 'undefined') ) {
54
+ hasOwnProp = function (object, property) {
55
+ return _hasOwnProperty.call(object, property);
56
+ };
57
+ }
58
+ else {
59
+ hasOwnProp = function (object, property) {
60
+ return ((property in object) && is(object.constructor.prototype[property], 'undefined'));
61
+ };
62
+ }
63
+
64
+
65
+ if (!Function.prototype.bind) {
66
+ Function.prototype.bind = function bind(that) {
67
+
68
+ var target = this;
69
+
70
+ if (typeof target != "function") {
71
+ throw new TypeError();
72
+ }
73
+
74
+ var args = slice.call(arguments, 1),
75
+ bound = function () {
76
+
77
+ if (this instanceof bound) {
78
+
79
+ var F = function(){};
80
+ F.prototype = target.prototype;
81
+ var self = new F();
82
+
83
+ var result = target.apply(
84
+ self,
85
+ args.concat(slice.call(arguments))
86
+ );
87
+ if (Object(result) === result) {
88
+ return result;
89
+ }
90
+ return self;
91
+
92
+ } else {
93
+
94
+ return target.apply(
95
+ that,
96
+ args.concat(slice.call(arguments))
97
+ );
98
+
99
+ }
100
+
101
+ };
102
+
103
+ return bound;
104
+ };
105
+ }
106
+
107
+ function setCss( str ) {
108
+ mStyle.cssText = str;
109
+ }
110
+
111
+ function setCssAll( str1, str2 ) {
112
+ return setCss(prefixes.join(str1 + ';') + ( str2 || '' ));
113
+ }
114
+
115
+ function is( obj, type ) {
116
+ return typeof obj === type;
117
+ }
118
+
119
+ function contains( str, substr ) {
120
+ return !!~('' + str).indexOf(substr);
121
+ }
122
+
123
+ function testProps( props, prefixed ) {
124
+ for ( var i in props ) {
125
+ var prop = props[i];
126
+ if ( !contains(prop, "-") && mStyle[prop] !== undefined ) {
127
+ return prefixed == 'pfx' ? prop : true;
128
+ }
129
+ }
130
+ return false;
131
+ }
132
+
133
+ function testDOMProps( props, obj, elem ) {
134
+ for ( var i in props ) {
135
+ var item = obj[props[i]];
136
+ if ( item !== undefined) {
137
+
138
+ if (elem === false) return props[i];
139
+
140
+ if (is(item, 'function')){
141
+ return item.bind(elem || obj);
142
+ }
143
+
144
+ return item;
145
+ }
146
+ }
147
+ return false;
148
+ }
149
+
150
+ function testPropsAll( prop, prefixed, elem ) {
151
+
152
+ var ucProp = prop.charAt(0).toUpperCase() + prop.slice(1),
153
+ props = (prop + ' ' + cssomPrefixes.join(ucProp + ' ') + ucProp).split(' ');
154
+
155
+ if(is(prefixed, "string") || is(prefixed, "undefined")) {
156
+ return testProps(props, prefixed);
157
+
158
+ } else {
159
+ props = (prop + ' ' + (domPrefixes).join(ucProp + ' ') + ucProp).split(' ');
160
+ return testDOMProps(props, prefixed, elem);
161
+ }
162
+ }
163
+
164
+
165
+
166
+ tests['canvas'] = function() {
167
+ var elem = document.createElement('canvas');
168
+ return !!(elem.getContext && elem.getContext('2d'));
169
+ }; tests['geolocation'] = function() {
170
+ return 'geolocation' in navigator;
171
+ };
172
+
173
+
174
+ tests['video'] = function() {
175
+ var elem = document.createElement('video'),
176
+ bool = false;
177
+
178
+ try {
179
+ if ( bool = !!elem.canPlayType ) {
180
+ bool = new Boolean(bool);
181
+ bool.ogg = elem.canPlayType('video/ogg; codecs="theora"') .replace(/^no$/,'');
182
+
183
+ bool.h264 = elem.canPlayType('video/mp4; codecs="avc1.42E01E"') .replace(/^no$/,'');
184
+
185
+ bool.webm = elem.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,'');
186
+ }
187
+
188
+ } catch(e) { }
189
+
190
+ return bool;
191
+ };
192
+
193
+ tests['audio'] = function() {
194
+ var elem = document.createElement('audio'),
195
+ bool = false;
196
+
197
+ try {
198
+ if ( bool = !!elem.canPlayType ) {
199
+ bool = new Boolean(bool);
200
+ bool.ogg = elem.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,'');
201
+ bool.mp3 = elem.canPlayType('audio/mpeg;') .replace(/^no$/,'');
202
+
203
+ bool.wav = elem.canPlayType('audio/wav; codecs="1"') .replace(/^no$/,'');
204
+ bool.m4a = ( elem.canPlayType('audio/x-m4a;') ||
205
+ elem.canPlayType('audio/aac;')) .replace(/^no$/,'');
206
+ }
207
+ } catch(e) { }
208
+
209
+ return bool;
210
+ };
211
+
212
+
213
+ tests['localstorage'] = function() {
214
+ try {
215
+ localStorage.setItem(mod, mod);
216
+ localStorage.removeItem(mod);
217
+ return true;
218
+ } catch(e) {
219
+ return false;
220
+ }
221
+ };
222
+
223
+ tests['sessionstorage'] = function() {
224
+ try {
225
+ sessionStorage.setItem(mod, mod);
226
+ sessionStorage.removeItem(mod);
227
+ return true;
228
+ } catch(e) {
229
+ return false;
230
+ }
231
+ };
232
+
233
+ function webforms() {
234
+ Modernizr['input'] = (function( props ) {
235
+ for ( var i = 0, len = props.length; i < len; i++ ) {
236
+ attrs[ props[i] ] = !!(props[i] in inputElem);
237
+ }
238
+ if (attrs.list){
239
+ attrs.list = !!(document.createElement('datalist') && window.HTMLDataListElement);
240
+ }
241
+ return attrs;
242
+ })('autocomplete autofocus list placeholder max min multiple pattern required step'.split(' '));
243
+ Modernizr['inputtypes'] = (function(props) {
244
+
245
+ for ( var i = 0, bool, inputElemType, defaultView, len = props.length; i < len; i++ ) {
246
+
247
+ inputElem.setAttribute('type', inputElemType = props[i]);
248
+ bool = inputElem.type !== 'text';
249
+
250
+ if ( bool ) {
251
+
252
+ inputElem.value = smile;
253
+ inputElem.style.cssText = 'position:absolute;visibility:hidden;';
254
+
255
+ if ( /^range$/.test(inputElemType) && inputElem.style.WebkitAppearance !== undefined ) {
256
+
257
+ docElement.appendChild(inputElem);
258
+ defaultView = document.defaultView;
259
+
260
+ bool = defaultView.getComputedStyle &&
261
+ defaultView.getComputedStyle(inputElem, null).WebkitAppearance !== 'textfield' &&
262
+ (inputElem.offsetHeight !== 0);
263
+
264
+ docElement.removeChild(inputElem);
265
+
266
+ } else if ( /^(search|tel)$/.test(inputElemType) ){
267
+ } else if ( /^(url|email)$/.test(inputElemType) ) {
268
+ bool = inputElem.checkValidity && inputElem.checkValidity() === false;
269
+
270
+ } else {
271
+ bool = inputElem.value != smile;
272
+ }
273
+ }
274
+
275
+ inputs[ props[i] ] = !!bool;
276
+ }
277
+ return inputs;
278
+ })('search tel url email datetime date month week time datetime-local number range color'.split(' '));
279
+ }
280
+ for ( var feature in tests ) {
281
+ if ( hasOwnProp(tests, feature) ) {
282
+ featureName = feature.toLowerCase();
283
+ Modernizr[featureName] = tests[feature]();
284
+
285
+ classes.push((Modernizr[featureName] ? '' : 'no-') + featureName);
286
+ }
287
+ }
288
+
289
+ Modernizr.input || webforms();
290
+
291
+
292
+ Modernizr.addTest = function ( feature, test ) {
293
+ if ( typeof feature == 'object' ) {
294
+ for ( var key in feature ) {
295
+ if ( hasOwnProp( feature, key ) ) {
296
+ Modernizr.addTest( key, feature[ key ] );
297
+ }
298
+ }
299
+ } else {
300
+
301
+ feature = feature.toLowerCase();
302
+
303
+ if ( Modernizr[feature] !== undefined ) {
304
+ return Modernizr;
305
+ }
306
+
307
+ test = typeof test == 'function' ? test() : test;
308
+
309
+ if (typeof enableClasses !== "undefined" && enableClasses) {
310
+ docElement.className += ' ' + (test ? '' : 'no-') + feature;
311
+ }
312
+ Modernizr[feature] = test;
313
+
314
+ }
315
+
316
+ return Modernizr;
317
+ };
318
+
319
+
320
+ setCss('');
321
+ modElem = inputElem = null;
322
+
323
+ ;(function(window, document) {
324
+ var options = window.html5 || {};
325
+
326
+ var reSkip = /^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i;
327
+
328
+ var saveClones = /^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i;
329
+
330
+ var supportsHtml5Styles;
331
+
332
+ var expando = '_html5shiv';
333
+
334
+ var expanID = 0;
335
+
336
+ var expandoData = {};
337
+
338
+ var supportsUnknownElements;
339
+
340
+ (function() {
341
+ try {
342
+ var a = document.createElement('a');
343
+ a.innerHTML = '<xyz></xyz>';
344
+ supportsHtml5Styles = ('hidden' in a);
345
+
346
+ supportsUnknownElements = a.childNodes.length == 1 || (function() {
347
+ (document.createElement)('a');
348
+ var frag = document.createDocumentFragment();
349
+ return (
350
+ typeof frag.cloneNode == 'undefined' ||
351
+ typeof frag.createDocumentFragment == 'undefined' ||
352
+ typeof frag.createElement == 'undefined'
353
+ );
354
+ }());
355
+ } catch(e) {
356
+ supportsHtml5Styles = true;
357
+ supportsUnknownElements = true;
358
+ }
359
+
360
+ }()); function addStyleSheet(ownerDocument, cssText) {
361
+ var p = ownerDocument.createElement('p'),
362
+ parent = ownerDocument.getElementsByTagName('head')[0] || ownerDocument.documentElement;
363
+
364
+ p.innerHTML = 'x<style>' + cssText + '</style>';
365
+ return parent.insertBefore(p.lastChild, parent.firstChild);
366
+ }
367
+
368
+ function getElements() {
369
+ var elements = html5.elements;
370
+ return typeof elements == 'string' ? elements.split(' ') : elements;
371
+ }
372
+
373
+ function getExpandoData(ownerDocument) {
374
+ var data = expandoData[ownerDocument[expando]];
375
+ if (!data) {
376
+ data = {};
377
+ expanID++;
378
+ ownerDocument[expando] = expanID;
379
+ expandoData[expanID] = data;
380
+ }
381
+ return data;
382
+ }
383
+
384
+ function createElement(nodeName, ownerDocument, data){
385
+ if (!ownerDocument) {
386
+ ownerDocument = document;
387
+ }
388
+ if(supportsUnknownElements){
389
+ return ownerDocument.createElement(nodeName);
390
+ }
391
+ if (!data) {
392
+ data = getExpandoData(ownerDocument);
393
+ }
394
+ var node;
395
+
396
+ if (data.cache[nodeName]) {
397
+ node = data.cache[nodeName].cloneNode();
398
+ } else if (saveClones.test(nodeName)) {
399
+ node = (data.cache[nodeName] = data.createElem(nodeName)).cloneNode();
400
+ } else {
401
+ node = data.createElem(nodeName);
402
+ }
403
+
404
+ return node.canHaveChildren && !reSkip.test(nodeName) ? data.frag.appendChild(node) : node;
405
+ }
406
+
407
+ function createDocumentFragment(ownerDocument, data){
408
+ if (!ownerDocument) {
409
+ ownerDocument = document;
410
+ }
411
+ if(supportsUnknownElements){
412
+ return ownerDocument.createDocumentFragment();
413
+ }
414
+ data = data || getExpandoData(ownerDocument);
415
+ var clone = data.frag.cloneNode(),
416
+ i = 0,
417
+ elems = getElements(),
418
+ l = elems.length;
419
+ for(;i<l;i++){
420
+ clone.createElement(elems[i]);
421
+ }
422
+ return clone;
423
+ }
424
+
425
+ function shivMethods(ownerDocument, data) {
426
+ if (!data.cache) {
427
+ data.cache = {};
428
+ data.createElem = ownerDocument.createElement;
429
+ data.createFrag = ownerDocument.createDocumentFragment;
430
+ data.frag = data.createFrag();
431
+ }
432
+
433
+
434
+ ownerDocument.createElement = function(nodeName) {
435
+ if (!html5.shivMethods) {
436
+ return data.createElem(nodeName);
437
+ }
438
+ return createElement(nodeName, ownerDocument, data);
439
+ };
440
+
441
+ ownerDocument.createDocumentFragment = Function('h,f', 'return function(){' +
442
+ 'var n=f.cloneNode(),c=n.createElement;' +
443
+ 'h.shivMethods&&(' +
444
+ getElements().join().replace(/\w+/g, function(nodeName) {
445
+ data.createElem(nodeName);
446
+ data.frag.createElement(nodeName);
447
+ return 'c("' + nodeName + '")';
448
+ }) +
449
+ ');return n}'
450
+ )(html5, data.frag);
451
+ } function shivDocument(ownerDocument) {
452
+ if (!ownerDocument) {
453
+ ownerDocument = document;
454
+ }
455
+ var data = getExpandoData(ownerDocument);
456
+
457
+ if (html5.shivCSS && !supportsHtml5Styles && !data.hasCSS) {
458
+ data.hasCSS = !!addStyleSheet(ownerDocument,
459
+ 'article,aside,figcaption,figure,footer,header,hgroup,nav,section{display:block}' +
460
+ 'mark{background:#FF0;color:#000}'
461
+ );
462
+ }
463
+ if (!supportsUnknownElements) {
464
+ shivMethods(ownerDocument, data);
465
+ }
466
+ return ownerDocument;
467
+ } var html5 = {
468
+
469
+ 'elements': options.elements || 'abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video',
470
+
471
+ 'shivCSS': (options.shivCSS !== false),
472
+
473
+ 'supportsUnknownElements': supportsUnknownElements,
474
+
475
+ 'shivMethods': (options.shivMethods !== false),
476
+
477
+ 'type': 'default',
478
+
479
+ 'shivDocument': shivDocument,
480
+
481
+ createElement: createElement,
482
+
483
+ createDocumentFragment: createDocumentFragment
484
+ }; window.html5 = html5;
485
+
486
+ shivDocument(document);
487
+
488
+ }(this, document));
489
+
490
+ Modernizr._version = version;
491
+
492
+ Modernizr._prefixes = prefixes;
493
+ Modernizr._domPrefixes = domPrefixes;
494
+ Modernizr._cssomPrefixes = cssomPrefixes;
495
+
496
+
497
+
498
+ Modernizr.testProp = function(prop){
499
+ return testProps([prop]);
500
+ };
501
+
502
+ Modernizr.testAllProps = testPropsAll;
503
+
504
+
505
+ Modernizr.prefixed = function(prop, obj, elem){
506
+ if(!obj) {
507
+ return testPropsAll(prop, 'pfx');
508
+ } else {
509
+ return testPropsAll(prop, obj, elem);
510
+ }
511
+ };
512
+
513
+
514
+ docElement.className = docElement.className.replace(/(^|\s)no-js(\s|$)/, '$1$2') +
515
+
516
+ (enableClasses ? ' js ' + classes.join(' ') : '');
517
+
518
+ return Modernizr;
519
+
520
+ })(this, this.document);
521
+ /*yepnope1.5.4|WTFPL*/
522
+ (function(a,b,c){function d(a){return"[object Function]"==o.call(a)}function e(a){return"string"==typeof a}function f(){}function g(a){return!a||"loaded"==a||"complete"==a||"uninitialized"==a}function h(){var a=p.shift();q=1,a?a.t?m(function(){("c"==a.t?B.injectCss:B.injectJs)(a.s,0,a.a,a.x,a.e,1)},0):(a(),h()):q=0}function i(a,c,d,e,f,i,j){function k(b){if(!o&&g(l.readyState)&&(u.r=o=1,!q&&h(),l.onload=l.onreadystatechange=null,b)){"img"!=a&&m(function(){t.removeChild(l)},50);for(var d in y[c])y[c].hasOwnProperty(d)&&y[c][d].onload()}}var j=j||B.errorTimeout,l=b.createElement(a),o=0,r=0,u={t:d,s:c,e:f,a:i,x:j};1===y[c]&&(r=1,y[c]=[]),"object"==a?l.data=c:(l.src=c,l.type=a),l.width=l.height="0",l.onerror=l.onload=l.onreadystatechange=function(){k.call(this,r)},p.splice(e,0,u),"img"!=a&&(r||2===y[c]?(t.insertBefore(l,s?null:n),m(k,j)):y[c].push(l))}function j(a,b,c,d,f){return q=0,b=b||"j",e(a)?i("c"==b?v:u,a,b,this.i++,c,d,f):(p.splice(this.i++,0,a),1==p.length&&h()),this}function k(){var a=B;return a.loader={load:j,i:0},a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=s?l:n.parentNode,l=a.opera&&"[object Opera]"==o.call(a.opera),l=!!b.attachEvent&&!l,u=r?"object":l?"script":"img",v=l?"script":u,w=Array.isArray||function(a){return"[object Array]"==o.call(a)},x=[],y={},z={timeout:function(a,b){return b.length&&(a.timeout=b[0]),a}},A,B;B=function(a){function b(a){var a=a.split("!"),b=x.length,c=a.pop(),d=a.length,c={url:c,origUrl:c,prefixes:a},e,f,g;for(f=0;f<d;f++)g=a[f].split("="),(e=z[g.shift()])&&(c=e(c,g));for(f=0;f<b;f++)c=x[f](c);return c}function g(a,e,f,g,h){var i=b(a),j=i.autoCallback;i.url.split(".").pop().split("?").shift(),i.bypass||(e&&(e=d(e)?e:e[a]||e[g]||e[a.split("/").pop().split("?")[0]]),i.instead?i.instead(a,e,f,g,h):(y[i.url]?i.noexec=!0:y[i.url]=1,f.load(i.url,i.forceCSS||!i.forceJS&&"css"==i.url.split(".").pop().split("?").shift()?"c":c,i.noexec,i.attrs,i.timeout),(d(e)||d(j))&&f.load(function(){k(),e&&e(i.origUrl,h,g),j&&j(i.origUrl,h,g),y[i.url]=2})))}function h(a,b){function c(a,c){if(a){if(e(a))c||(j=function(){var a=[].slice.call(arguments);k.apply(this,a),l()}),g(a,j,b,0,h);else if(Object(a)===a)for(n in m=function(){var b=0,c;for(c in a)a.hasOwnProperty(c)&&b++;return b}(),a)a.hasOwnProperty(n)&&(!c&&!--m&&(d(j)?j=function(){var a=[].slice.call(arguments);k.apply(this,a),l()}:j[n]=function(a){return function(){var b=[].slice.call(arguments);a&&a.apply(this,b),l()}}(k[n])),g(a[n],j,b,n,h))}else!c&&l()}var h=!!a.test,i=a.load||a.both,j=a.callback||f,k=j,l=a.complete||f,m,n;c(h?a.yep:a.nope,!!i),i&&c(i)}var i,j,l=this.yepnope.loader;if(e(a))g(a,0,l,0);else if(w(a))for(i=0;i<a.length;i++)j=a[i],e(j)?g(j,0,l,0):w(j)?B(j):Object(j)===j&&h(j,l);else Object(a)===a&&h(a,l)},B.addPrefix=function(a,b){z[a]=b},B.addFilter=function(a){x.push(a)},B.errorTimeout=1e4,null==b.readyState&&b.addEventListener&&(b.readyState="loading",b.addEventListener("DOMContentLoaded",A=function(){b.removeEventListener("DOMContentLoaded",A,0),b.readyState="complete"},0)),a.yepnope=k(),a.yepnope.executeStack=h,a.yepnope.injectJs=function(a,c,d,e,i,j){var k=b.createElement("script"),l,o,e=e||B.errorTimeout;k.src=a;for(o in d)k.setAttribute(o,d[o]);c=j?h:c||f,k.onreadystatechange=k.onload=function(){!l&&g(k.readyState)&&(l=1,c(),k.onload=k.onreadystatechange=null)},m(function(){l||(l=1,c(1))},e),i?k.onload():n.parentNode.insertBefore(k,n)},a.yepnope.injectCss=function(a,c,d,e,g,i){var e=b.createElement("link"),j,c=i?h:c||f;e.href=a,e.rel="stylesheet",e.type="text/css";for(j in d)e.setAttribute(j,d[j]);g||(n.parentNode.insertBefore(e,n),m(c,0))}})(this,document);
523
+ Modernizr.load=function(){yepnope.apply(window,[].slice.call(arguments,0));};
524
+ // Track element + Timed Text Track API
525
+ // http://www.w3.org/TR/html5/video.html#the-track-element
526
+ // http://www.w3.org/TR/html5/media-elements.html#text-track-api
527
+ //
528
+ // While IE10 has implemented the track element, IE10 does not expose the underlying APIs to create timed text tracks by JS (really sad)
529
+ // By Addy Osmani
530
+ Modernizr.addTest({
531
+ texttrackapi: (typeof (document.createElement('video').addTextTrack) === 'function'),
532
+ // a more strict test for track including UI support: document.createElement('track').kind === 'subtitles'
533
+ track: ('kind' in document.createElement('track'))
534
+ });
535
535
  ;