webshims-rails 0.4.7 → 1.10.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (168) hide show
  1. checksums.yaml +15 -0
  2. data/lib/webshims-rails/version.rb +2 -2
  3. data/vendor/assets/javascripts/webshims/extras/custom-validity.js +1 -1
  4. data/vendor/assets/javascripts/webshims/extras/mousepress.js +1 -1
  5. data/vendor/assets/javascripts/webshims/polyfiller.js +197 -166
  6. data/vendor/assets/javascripts/webshims/shims/combos/1.js +1711 -1609
  7. data/vendor/assets/javascripts/webshims/shims/combos/10.js +2575 -2253
  8. data/vendor/assets/javascripts/webshims/shims/combos/11.js +2452 -1476
  9. data/vendor/assets/javascripts/webshims/shims/combos/12.js +1405 -1159
  10. data/vendor/assets/javascripts/webshims/shims/combos/13.js +1316 -963
  11. data/vendor/assets/javascripts/webshims/shims/combos/14.js +1862 -179
  12. data/vendor/assets/javascripts/webshims/shims/combos/15.js +4327 -287
  13. data/vendor/assets/javascripts/webshims/shims/combos/16.js +3887 -586
  14. data/vendor/assets/javascripts/webshims/shims/combos/17.js +2911 -2159
  15. data/vendor/assets/javascripts/webshims/shims/combos/18.js +3425 -1730
  16. data/vendor/assets/javascripts/webshims/shims/combos/19.js +2854 -1203
  17. data/vendor/assets/javascripts/webshims/shims/combos/2.js +3351 -2130
  18. data/vendor/assets/javascripts/webshims/shims/combos/20.js +2426 -581
  19. data/vendor/assets/javascripts/webshims/shims/combos/21.js +1915 -1574
  20. data/vendor/assets/javascripts/webshims/shims/combos/22.js +864 -2275
  21. data/vendor/assets/javascripts/webshims/shims/combos/23.js +609 -1811
  22. data/vendor/assets/javascripts/webshims/shims/combos/3.js +1655 -2736
  23. data/vendor/assets/javascripts/webshims/shims/combos/4.js +1037 -603
  24. data/vendor/assets/javascripts/webshims/shims/combos/5.js +3100 -773
  25. data/vendor/assets/javascripts/webshims/shims/combos/6.js +3631 -840
  26. data/vendor/assets/javascripts/webshims/shims/combos/7.js +3596 -1354
  27. data/vendor/assets/javascripts/webshims/shims/combos/8.js +1731 -188
  28. data/vendor/assets/javascripts/webshims/shims/combos/9.js +3243 -1431
  29. data/vendor/assets/javascripts/webshims/shims/dom-extend.js +107 -18
  30. data/vendor/assets/javascripts/webshims/shims/es5.js +1 -0
  31. data/vendor/assets/javascripts/webshims/shims/form-core.js +553 -464
  32. data/vendor/assets/javascripts/webshims/shims/form-datalist.js +160 -154
  33. data/vendor/assets/javascripts/webshims/shims/form-message.js +73 -49
  34. data/vendor/assets/javascripts/webshims/shims/form-native-extend.js +18 -1
  35. data/vendor/assets/javascripts/webshims/shims/form-number-date-api.js +161 -36
  36. data/vendor/assets/javascripts/webshims/shims/form-number-date-ui.js +2130 -813
  37. data/vendor/assets/javascripts/webshims/shims/form-shim-extend.js +206 -58
  38. data/vendor/assets/javascripts/webshims/shims/i18n/{errormessages-ar.js → formcfg-ar.js} +30 -0
  39. data/vendor/assets/javascripts/webshims/shims/i18n/{errormessages-ch-ZN.js → formcfg-ch-ZN.js} +31 -0
  40. data/vendor/assets/javascripts/webshims/shims/i18n/{errormessages-de.txt → formcfg-de.txt} +50 -11
  41. data/vendor/assets/javascripts/webshims/shims/i18n/{errormessages-el.js → formcfg-el.js} +31 -0
  42. data/vendor/assets/javascripts/webshims/shims/i18n/{errormessages-en.txt → formcfg-en.txt} +44 -11
  43. data/vendor/assets/javascripts/webshims/shims/i18n/{errormessages-es.js → formcfg-es.js} +31 -0
  44. data/vendor/assets/javascripts/webshims/shims/i18n/{errormessages-fr.js → formcfg-fr.js} +31 -0
  45. data/vendor/assets/javascripts/webshims/shims/i18n/{errormessages-he.js → formcfg-he.js} +31 -0
  46. data/vendor/assets/javascripts/webshims/shims/i18n/{errormessages-hi.js → formcfg-hi.js} +31 -0
  47. data/vendor/assets/javascripts/webshims/shims/i18n/{errormessages-hu.js → formcfg-hu.js} +31 -0
  48. data/vendor/assets/javascripts/webshims/shims/i18n/{errormessages-it.js → formcfg-it.js} +31 -0
  49. data/vendor/assets/javascripts/webshims/shims/i18n/{errormessages-ja.js → formcfg-ja.js} +31 -0
  50. data/vendor/assets/javascripts/webshims/shims/i18n/{errormessages-nl.js → formcfg-nl.js} +31 -0
  51. data/vendor/assets/javascripts/webshims/shims/i18n/{errormessages-pt-PT.js → formcfg-pt-PT.js} +31 -0
  52. data/vendor/assets/javascripts/webshims/shims/i18n/{errormessages-ru.js → formcfg-ru.js} +31 -0
  53. data/vendor/assets/javascripts/webshims/shims/i18n/{errormessages-sv.js → formcfg-sv.js} +32 -0
  54. data/vendor/assets/javascripts/webshims/shims/json-storage.js +16 -10
  55. data/vendor/assets/javascripts/webshims/shims/mediaelement-core.js +155 -122
  56. data/vendor/assets/javascripts/webshims/shims/mediaelement-jaris.js +76 -41
  57. data/vendor/assets/javascripts/webshims/shims/mediaelement-yt.js +8 -16
  58. data/vendor/assets/javascripts/webshims/shims/range-ui.js +388 -0
  59. data/vendor/assets/javascripts/webshims/shims/styles/config.rb +12 -0
  60. data/vendor/assets/javascripts/webshims/shims/styles/forms.png +0 -0
  61. data/vendor/assets/javascripts/webshims/shims/styles/scss/shim.scss +1186 -0
  62. data/vendor/assets/javascripts/webshims/shims/styles/shim.css +868 -548
  63. data/vendor/assets/javascripts/webshims/shims/styles/vertical-range.png +0 -0
  64. data/vendor/assets/javascripts/webshims/shims/swf/JarisFLVPlayer.swf +0 -0
  65. data/vendor/assets/javascripts/webshims/shims/swfmini.js +497 -0
  66. data/vendor/assets/javascripts/webshims/shims/track-ui.js +3 -0
  67. data/vendor/assets/javascripts/webshims/shims/track.js +29 -29
  68. metadata +26 -125
  69. data/vendor/assets/javascripts/webshims/minified/extras/custom-validity.js +0 -1
  70. data/vendor/assets/javascripts/webshims/minified/extras/modernizr-custom.js +0 -1
  71. data/vendor/assets/javascripts/webshims/minified/extras/mousepress.js +0 -1
  72. data/vendor/assets/javascripts/webshims/minified/polyfiller.js +0 -1
  73. data/vendor/assets/javascripts/webshims/minified/shims/FlashCanvas/canvas2png.js +0 -1
  74. data/vendor/assets/javascripts/webshims/minified/shims/FlashCanvas/flashcanvas.js +0 -1
  75. data/vendor/assets/javascripts/webshims/minified/shims/FlashCanvas/flashcanvas.swf +0 -0
  76. data/vendor/assets/javascripts/webshims/minified/shims/FlashCanvas/proxy.php +0 -73
  77. data/vendor/assets/javascripts/webshims/minified/shims/FlashCanvas/save.php +0 -49
  78. data/vendor/assets/javascripts/webshims/minified/shims/FlashCanvasPro/canvas2png.js +0 -1
  79. data/vendor/assets/javascripts/webshims/minified/shims/FlashCanvasPro/flash10canvas.swf +0 -0
  80. data/vendor/assets/javascripts/webshims/minified/shims/FlashCanvasPro/flash9canvas.swf +0 -0
  81. data/vendor/assets/javascripts/webshims/minified/shims/FlashCanvasPro/flashcanvas.js +0 -1
  82. data/vendor/assets/javascripts/webshims/minified/shims/FlashCanvasPro/proxy.php +0 -73
  83. data/vendor/assets/javascripts/webshims/minified/shims/FlashCanvasPro/save.php +0 -49
  84. data/vendor/assets/javascripts/webshims/minified/shims/combos/1.js +0 -1
  85. data/vendor/assets/javascripts/webshims/minified/shims/combos/10.js +0 -1
  86. data/vendor/assets/javascripts/webshims/minified/shims/combos/11.js +0 -1
  87. data/vendor/assets/javascripts/webshims/minified/shims/combos/12.js +0 -1
  88. data/vendor/assets/javascripts/webshims/minified/shims/combos/13.js +0 -1
  89. data/vendor/assets/javascripts/webshims/minified/shims/combos/14.js +0 -1
  90. data/vendor/assets/javascripts/webshims/minified/shims/combos/15.js +0 -1
  91. data/vendor/assets/javascripts/webshims/minified/shims/combos/16.js +0 -1
  92. data/vendor/assets/javascripts/webshims/minified/shims/combos/17.js +0 -1
  93. data/vendor/assets/javascripts/webshims/minified/shims/combos/18.js +0 -1
  94. data/vendor/assets/javascripts/webshims/minified/shims/combos/19.js +0 -1
  95. data/vendor/assets/javascripts/webshims/minified/shims/combos/2.js +0 -1
  96. data/vendor/assets/javascripts/webshims/minified/shims/combos/20.js +0 -1
  97. data/vendor/assets/javascripts/webshims/minified/shims/combos/21.js +0 -1
  98. data/vendor/assets/javascripts/webshims/minified/shims/combos/22.js +0 -1
  99. data/vendor/assets/javascripts/webshims/minified/shims/combos/23.js +0 -1
  100. data/vendor/assets/javascripts/webshims/minified/shims/combos/24.js +0 -1
  101. data/vendor/assets/javascripts/webshims/minified/shims/combos/25.js +0 -1
  102. data/vendor/assets/javascripts/webshims/minified/shims/combos/26.js +0 -1
  103. data/vendor/assets/javascripts/webshims/minified/shims/combos/27.js +0 -1
  104. data/vendor/assets/javascripts/webshims/minified/shims/combos/3.js +0 -1
  105. data/vendor/assets/javascripts/webshims/minified/shims/combos/4.js +0 -1
  106. data/vendor/assets/javascripts/webshims/minified/shims/combos/5.js +0 -1
  107. data/vendor/assets/javascripts/webshims/minified/shims/combos/59.js +0 -1
  108. data/vendor/assets/javascripts/webshims/minified/shims/combos/6.js +0 -1
  109. data/vendor/assets/javascripts/webshims/minified/shims/combos/7.js +0 -1
  110. data/vendor/assets/javascripts/webshims/minified/shims/combos/8.js +0 -1
  111. data/vendor/assets/javascripts/webshims/minified/shims/combos/9.js +0 -1
  112. data/vendor/assets/javascripts/webshims/minified/shims/details.js +0 -1
  113. data/vendor/assets/javascripts/webshims/minified/shims/dom-extend.js +0 -1
  114. data/vendor/assets/javascripts/webshims/minified/shims/es5.js +0 -1
  115. data/vendor/assets/javascripts/webshims/minified/shims/excanvas.js +0 -1
  116. data/vendor/assets/javascripts/webshims/minified/shims/form-core.js +0 -1
  117. data/vendor/assets/javascripts/webshims/minified/shims/form-datalist.js +0 -1
  118. data/vendor/assets/javascripts/webshims/minified/shims/form-message.js +0 -1
  119. data/vendor/assets/javascripts/webshims/minified/shims/form-native-extend.js +0 -1
  120. data/vendor/assets/javascripts/webshims/minified/shims/form-number-date-api.js +0 -1
  121. data/vendor/assets/javascripts/webshims/minified/shims/form-number-date-ui.js +0 -1
  122. data/vendor/assets/javascripts/webshims/minified/shims/form-shim-extend.js +0 -1
  123. data/vendor/assets/javascripts/webshims/minified/shims/geolocation.js +0 -1
  124. data/vendor/assets/javascripts/webshims/minified/shims/i18n/errormessages-ar.js +0 -1
  125. data/vendor/assets/javascripts/webshims/minified/shims/i18n/errormessages-ch-ZN.js +0 -1
  126. data/vendor/assets/javascripts/webshims/minified/shims/i18n/errormessages-de.txt +0 -33
  127. data/vendor/assets/javascripts/webshims/minified/shims/i18n/errormessages-el.js +0 -1
  128. data/vendor/assets/javascripts/webshims/minified/shims/i18n/errormessages-en.txt +0 -34
  129. data/vendor/assets/javascripts/webshims/minified/shims/i18n/errormessages-es.js +0 -1
  130. data/vendor/assets/javascripts/webshims/minified/shims/i18n/errormessages-fr.js +0 -1
  131. data/vendor/assets/javascripts/webshims/minified/shims/i18n/errormessages-he.js +0 -1
  132. data/vendor/assets/javascripts/webshims/minified/shims/i18n/errormessages-hi.js +0 -1
  133. data/vendor/assets/javascripts/webshims/minified/shims/i18n/errormessages-hu.js +0 -1
  134. data/vendor/assets/javascripts/webshims/minified/shims/i18n/errormessages-it.js +0 -1
  135. data/vendor/assets/javascripts/webshims/minified/shims/i18n/errormessages-ja.js +0 -1
  136. data/vendor/assets/javascripts/webshims/minified/shims/i18n/errormessages-nl.js +0 -1
  137. data/vendor/assets/javascripts/webshims/minified/shims/i18n/errormessages-pt-PT.js +0 -1
  138. data/vendor/assets/javascripts/webshims/minified/shims/i18n/errormessages-ru.js +0 -1
  139. data/vendor/assets/javascripts/webshims/minified/shims/i18n/errormessages-sv.js +0 -1
  140. data/vendor/assets/javascripts/webshims/minified/shims/json-storage.js +0 -1
  141. data/vendor/assets/javascripts/webshims/minified/shims/jwplayer/license.txt +0 -1
  142. data/vendor/assets/javascripts/webshims/minified/shims/jwplayer/player.swf +0 -0
  143. data/vendor/assets/javascripts/webshims/minified/shims/jwplayer/readme.html +0 -87
  144. data/vendor/assets/javascripts/webshims/minified/shims/mediaelement-core.js +0 -1
  145. data/vendor/assets/javascripts/webshims/minified/shims/mediaelement-jaris.js +0 -1
  146. data/vendor/assets/javascripts/webshims/minified/shims/mediaelement-native-fix.js +0 -1
  147. data/vendor/assets/javascripts/webshims/minified/shims/mediaelement-swf.js +0 -1
  148. data/vendor/assets/javascripts/webshims/minified/shims/mediaelement-yt.js +0 -1
  149. data/vendor/assets/javascripts/webshims/minified/shims/styles/details-arrows.png +0 -0
  150. data/vendor/assets/javascripts/webshims/minified/shims/styles/forms.png +0 -0
  151. data/vendor/assets/javascripts/webshims/minified/shims/styles/polyfill-loader.gif +0 -0
  152. data/vendor/assets/javascripts/webshims/minified/shims/styles/shim.css +0 -1
  153. data/vendor/assets/javascripts/webshims/minified/shims/swf/JarisFLVPlayer.swf +0 -0
  154. data/vendor/assets/javascripts/webshims/minified/shims/swf/jwwebshims.swf +0 -0
  155. data/vendor/assets/javascripts/webshims/minified/shims/swf/localStorage.swf +0 -0
  156. data/vendor/assets/javascripts/webshims/minified/shims/track-ui.js +0 -1
  157. data/vendor/assets/javascripts/webshims/minified/shims/track.js +0 -1
  158. data/vendor/assets/javascripts/webshims/shims/FlashCanvas/README +0 -62
  159. data/vendor/assets/javascripts/webshims/shims/FlashCanvasPro/README +0 -82
  160. data/vendor/assets/javascripts/webshims/shims/combos/24.js +0 -2872
  161. data/vendor/assets/javascripts/webshims/shims/combos/25.js +0 -2376
  162. data/vendor/assets/javascripts/webshims/shims/combos/26.js +0 -3009
  163. data/vendor/assets/javascripts/webshims/shims/combos/27.js +0 -4150
  164. data/vendor/assets/javascripts/webshims/shims/combos/59.js +0 -1747
  165. data/vendor/assets/javascripts/webshims/shims/jwplayer/license.txt +0 -1
  166. data/vendor/assets/javascripts/webshims/shims/jwplayer/player.swf +0 -0
  167. data/vendor/assets/javascripts/webshims/shims/jwplayer/readme.html +0 -87
  168. data/vendor/assets/javascripts/webshims/shims/mediaelement-swf.js +0 -972
@@ -30,3 +30,34 @@ jQuery.webshims.validityMessages.nl = {
30
30
  },
31
31
  "stepMismatch": "Ongeldige waarde."
32
32
  };
33
+ jQuery.webshims.formcfg.nl = {
34
+ numberFormat: {
35
+ ".": ".",
36
+ ",": ","
37
+ },
38
+ numberSigns: '.',
39
+ dateSigns: '-',
40
+ timeSigns: ":. ",
41
+ dFormat: "-",
42
+ patterns: {
43
+ d: 'dd-mm-yy'
44
+ },
45
+ date: {
46
+ closeText: 'Sluiten',
47
+ prevText: '←',
48
+ nextText: '→',
49
+ currentText: 'Vandaag',
50
+ monthNames: ['januari', 'februari', 'maart', 'april', 'mei', 'juni',
51
+ 'juli', 'augustus', 'september', 'oktober', 'november', 'december'],
52
+ monthNamesShort: ['jan', 'feb', 'mrt', 'apr', 'mei', 'jun',
53
+ 'jul', 'aug', 'sep', 'okt', 'nov', 'dec'],
54
+ dayNames: ['zondag', 'maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag'],
55
+ dayNamesShort: ['zon', 'maa', 'din', 'woe', 'don', 'vri', 'zat'],
56
+ dayNamesMin: ['zo', 'ma', 'di', 'wo', 'do', 'vr', 'za'],
57
+ weekHeader: 'Wk',
58
+ firstDay: 1,
59
+ isRTL: false,
60
+ showMonthAfterYear: false,
61
+ yearSuffix: ''
62
+ }
63
+ };
@@ -30,3 +30,34 @@ jQuery.webshims.validityMessages["pt-PT"] = {
30
30
  },
31
31
  "stepMismatch": "Valor inválido."
32
32
  };
33
+ jQuery.webshims.formcfg["pt-PT"] = {
34
+ numberFormat: {
35
+ ".": ".",
36
+ ",": ","
37
+ },
38
+ numberSigns: '.',
39
+ dateSigns: '/',
40
+ timeSigns: ":. ",
41
+ dFormat: "/",
42
+ patterns: {
43
+ d: "dd/mm/yy"
44
+ },
45
+ date: {
46
+ closeText: 'Fechar',
47
+ prevText: '<Anterior',
48
+ nextText: 'Seguinte',
49
+ currentText: 'Hoje',
50
+ monthNames: ['Janeiro','Fevereiro','Março','Abril','Maio','Junho',
51
+ 'Julho','Agosto','Setembro','Outubro','Novembro','Dezembro'],
52
+ monthNamesShort: ['Jan','Fev','Mar','Abr','Mai','Jun',
53
+ 'Jul','Ago','Set','Out','Nov','Dez'],
54
+ dayNames: ['Domingo','Segunda-feira','Terça-feira','Quarta-feira','Quinta-feira','Sexta-feira','Sábado'],
55
+ dayNamesShort: ['Dom','Seg','Ter','Qua','Qui','Sex','Sáb'],
56
+ dayNamesMin: ['Dom','Seg','Ter','Qua','Qui','Sex','Sáb'],
57
+ weekHeader: 'Sem',
58
+ firstDay: 0,
59
+ isRTL: false,
60
+ showMonthAfterYear: false,
61
+ yearSuffix: ''
62
+ }
63
+ };
@@ -29,4 +29,35 @@ jQuery.webshims.validityMessages.ru = {
29
29
  "datetime-local": "Значение должно быть {%max} или более раннее."
30
30
  },
31
31
  "stepMismatch": "Неправильное значение."
32
+ };
33
+ jQuery.webshims.formcfg.ru = {
34
+ numberFormat: {
35
+ ".": ".",
36
+ ",": ","
37
+ },
38
+ numberSigns: '.',
39
+ dateSigns: '.',
40
+ timeSigns: ":. ",
41
+ dFormat: ".",
42
+ patterns: {
43
+ d: 'dd.mm.yy'
44
+ },
45
+ date: {
46
+ closeText: 'Закрыть',
47
+ prevText: '<Пред',
48
+ nextText: 'След>',
49
+ currentText: 'Сегодня',
50
+ monthNames: ['Январь','Февраль','Март','Апрель','Май','Июнь',
51
+ 'Июль','Август','Сентябрь','Октябрь','Ноябрь','Декабрь'],
52
+ monthNamesShort: ['Янв','Фев','Мар','Апр','Май','Июн',
53
+ 'Июл','Авг','Сен','Окт','Ноя','Дек'],
54
+ dayNames: ['воскресенье','понедельник','вторник','среда','четверг','пятница','суббота'],
55
+ dayNamesShort: ['вск','пнд','втр','срд','чтв','птн','сбт'],
56
+ dayNamesMin: ['Вс','Пн','Вт','Ср','Чт','Пт','Сб'],
57
+ weekHeader: 'Нед',
58
+ firstDay: 1,
59
+ isRTL: false,
60
+ showMonthAfterYear: false,
61
+ yearSuffix: ''
62
+ }
32
63
  };
@@ -30,3 +30,35 @@ jQuery.webshims.validityMessages.sv = {
30
30
  },
31
31
  "stepMismatch": "Felaktig inmatning."
32
32
  };
33
+ jQuery.webshims.formcfg.sv = {
34
+ numberFormat: {
35
+ ".": ".",
36
+ ",": ","
37
+ },
38
+ numberSigns: '.',
39
+ dateSigns: '-',
40
+ timeSigns: ":. ",
41
+ dFormat: "-",
42
+ patterns: {
43
+ d: "yy-mm-dd"
44
+ },
45
+ date: {
46
+ closeText: 'Stäng',
47
+ prevText: '«Förra',
48
+ nextText: 'Nästa»',
49
+ currentText: 'Idag',
50
+ monthNames: ['Januari','Februari','Mars','April','Maj','Juni',
51
+ 'Juli','Augusti','September','Oktober','November','December'],
52
+ monthNamesShort: ['Jan','Feb','Mar','Apr','Maj','Jun',
53
+ 'Jul','Aug','Sep','Okt','Nov','Dec'],
54
+ dayNamesShort: ['Sön','Mån','Tis','Ons','Tor','Fre','Lör'],
55
+ dayNames: ['Söndag','Måndag','Tisdag','Onsdag','Torsdag','Fredag','Lördag'],
56
+ dayNamesMin: ['Sö','Må','Ti','On','To','Fr','Lö'],
57
+ weekHeader: 'Ve',
58
+ dateFormat: 'yy-mm-dd',
59
+ firstDay: 1,
60
+ isRTL: false,
61
+ showMonthAfterYear: false,
62
+ yearSuffix: ''
63
+ }
64
+ };
@@ -189,23 +189,28 @@ if (!('sessionStorage' in window)) {window.sessionStorage = new Storage('session
189
189
  var shim;
190
190
  var localStorageSwfCallback = function(type){
191
191
  clearTimeout(swfTimer);
192
-
192
+ var getType;
193
193
  if(window.localStorage && (type != 'swf' || (shim && shim.key))){
194
194
  $.webshims.isReady('json-storage', true);
195
195
  return;
196
196
  }
197
+
197
198
 
198
199
  if(type === 'swf'){
199
200
  shim = document.getElementById('swflocalstorageshim');
201
+ getType = shim ? typeof(shim.GetVariable) : 'undefined';
202
+
200
203
  //brute force flash getter
201
- if( !shim || typeof shim.GetVariable == 'undefined' ){
204
+ if( getType == 'undefined' ){
202
205
  shim = document.swflocalstorageshim;
203
- }
204
- if( !shim || typeof shim.GetVariable == 'undefined'){
205
- shim = window.localstorageshim;
206
+ getType = shim ? typeof(shim.GetVariable) : 'undefined';
207
+ if( getType == 'undefined' ){
208
+ shim = window.localstorageshim;
209
+ getType = shim ? typeof(shim.GetVariable) : 'undefined';
210
+ }
206
211
  }
207
212
 
208
- if(shim && typeof shim.GetVariable !== 'undefined'){
213
+ if(getType != 'undefined'){
209
214
  window.localStorage = {};
210
215
 
211
216
  window.localStorage.clear = function(){
@@ -245,7 +250,6 @@ if (!('sessionStorage' in window)) {window.sessionStorage = new Storage('session
245
250
  window.localStorage = new Storage('local');
246
251
  $.webshims.warn('implement cookie-localStorage');
247
252
  }
248
-
249
253
  $.webshims.isReady('json-storage', true);
250
254
  };
251
255
  var storageCFG = $.webshims.cfg['json-storage'];
@@ -280,12 +284,14 @@ if (!('sessionStorage' in window)) {window.sessionStorage = new Storage('session
280
284
  //
281
285
  // };
282
286
 
283
- $.webshims.ready('DOM swfobject', function(){
287
+ $.webshims.ready('DOM swfmini', function(){
288
+
289
+ var swfmini = window.swfmini;
284
290
  if(runStart || (('localStorage' in window) && document.getElementById('swflocalstorageshim')) ){return;}
285
291
  runStart = true;
286
- if(window.swfobject && swfobject.hasFlashPlayerVersion('8.0.0')){
292
+ if(swfmini && swfmini.hasFlashPlayerVersion('8.0.0')){
287
293
  $('body').append('<div id="swflocalstorageshim-wrapper"><div id="swflocalstorageshim" /></div>');
288
- swfobject.embedSWF($.webshims.cfg.basePath +'swf/localStorage.swf' +($.webshims.cfg.addCacheBuster || ''), 'swflocalstorageshim', '295', '198', '8.0.0', '', {allowscriptaccess: 'always'}, {name: 'swflocalstorageshim'}, function(e){
294
+ swfmini.embedSWF($.webshims.cfg.basePath +'swf/localStorage.swf' +($.webshims.cfg.addCacheBuster || ''), 'swflocalstorageshim', '295', '198', '8.0.0', null, {allowscriptaccess: 'always'}, {name: 'swflocalstorageshim'}, function(e){
289
295
  if(!e.success && !window.localStorage){
290
296
  localStorageSwfCallback();
291
297
  }
@@ -13,7 +13,7 @@
13
13
  });
14
14
  };
15
15
  var options = webshims.cfg.mediaelement;
16
- var swfType = options && options.player == 'jwplayer' ? 'mediaelement-swf' : 'mediaelement-jaris';
16
+ var swfType = 'mediaelement-jaris';
17
17
  var hasSwf;
18
18
  if(!options){
19
19
  webshims.error("mediaelement wasn't implemented but loaded");
@@ -38,34 +38,44 @@
38
38
  }
39
39
 
40
40
  if(hasNative && !options.preferFlash){
41
+ var noSwitch = {
42
+ 1: 1,
43
+ 2: 1
44
+ };
41
45
  var switchOptions = function(e){
46
+ var media;
42
47
  var parent = e.target.parentNode;
43
- if(!options.preferFlash && ($(e.target).is('audio, video') || (parent && $('source:last', parent)[0] == e.target)) ){
44
- webshims.ready('DOM mediaelement', function(){
45
- if(hasSwf){
48
+ if(!options.preferFlash &&
49
+ ($(e.target).is('audio, video') || (parent && $('source:last', parent)[0] == e.target)) &&
50
+ (media = $(e.target).closest('audio, video')) && !noSwitch[media.prop('error')]
51
+ ){
52
+ $(function(){
53
+ if(hasSwf && !options.preferFlash){
46
54
  loadSwf();
55
+ webshims.ready('WINDOWLOAD '+swfType, function(){
56
+ setTimeout(function(){
57
+ if(!options.preferFlash && webshims.mediaelement.createSWF && !media.is('.nonnative-api-active')){
58
+ options.preferFlash = true;
59
+ document.removeEventListener('error', switchOptions, true);
60
+ $('audio, video').each(function(){
61
+ webshims.mediaelement.selectSource(this);
62
+ });
63
+ webshims.info("switching mediaelements option to 'preferFlash', due to an error with native player: "+e.target.src+" Mediaerror: "+ media.prop('error'));
64
+ }
65
+ }, 9);
66
+ });
67
+ } else{
68
+ document.removeEventListener('error', switchOptions, true);
47
69
  }
48
- webshims.ready('WINDOWLOAD '+swfType, function(){
49
- setTimeout(function(){
50
- if(hasSwf && !options.preferFlash && webshims.mediaelement.createSWF && !$(e.target).closest('audio, video').is('.nonnative-api-active')){
51
- options.preferFlash = true;
52
- document.removeEventListener('error', switchOptions, true);
53
- $('audio, video').each(function(){
54
- webshims.mediaelement.selectSource(this);
55
- });
56
- webshims.info("switching mediaelements option to 'preferFlash', due to an error with native player: "+e.target.src);
57
- } else if(!hasSwf){
58
- document.removeEventListener('error', switchOptions, true);
59
- }
60
- }, 20);
61
- });
62
70
  });
63
71
  }
64
72
  };
65
73
  document.addEventListener('error', switchOptions, true);
66
74
  $('audio, video').each(function(){
67
- if(this.error){
75
+ var error = $.prop(this, 'error');
76
+ if(error && !noSwitch[error]){
68
77
  switchOptions({target: this});
78
+ return false;
69
79
  }
70
80
  });
71
81
  }
@@ -100,6 +110,7 @@
100
110
  } else {
101
111
  webshims.info("track support was overwritten. due to bad browser support");
102
112
  }
113
+ return false;
103
114
  }
104
115
  };
105
116
  var detectTrackError = function(){
@@ -123,7 +134,7 @@
123
134
  }
124
135
 
125
136
  webshims.register('mediaelement-core', function($, webshims, window, document, undefined){
126
- hasSwf = swfobject.hasFlashPlayerVersion('9.0.115');
137
+ hasSwf = swfmini.hasFlashPlayerVersion('9.0.115');
127
138
  $('html').addClass(hasSwf ? 'swf' : 'no-swf');
128
139
  var mediaelement = webshims.mediaelement;
129
140
  mediaelement.parseRtmp = function(data){
@@ -216,7 +227,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
216
227
  loaded = true;
217
228
  webshims.loader.loadScript("https://www.youtube.com/player_api");
218
229
  $(function(){
219
- webshims.polyfill("mediaelement-yt");
230
+ webshims._polyfill(["mediaelement-yt"]);
220
231
  });
221
232
  };
222
233
  })();
@@ -340,7 +351,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
340
351
  });
341
352
  };
342
353
 
343
- mediaelement.swfMimeTypes = ['video/3gpp', 'video/x-msvideo', 'video/quicktime', 'video/x-m4v', 'video/mp4', 'video/m4p', 'video/x-flv', 'video/flv', 'audio/mpeg', 'audio/aac', 'audio/mp4', 'audio/x-m4a', 'audio/m4a', 'audio/mp3', 'audio/x-fla', 'audio/fla', 'youtube/flv', 'jwplayer/jwplayer', 'video/youtube', 'video/rtmp', 'audio/rtmp'];
354
+ mediaelement.swfMimeTypes = ['video/3gpp', 'video/x-msvideo', 'video/quicktime', 'video/x-m4v', 'video/mp4', 'video/m4p', 'video/x-flv', 'video/flv', 'audio/mpeg', 'audio/aac', 'audio/mp4', 'audio/x-m4a', 'audio/m4a', 'audio/mp3', 'audio/x-fla', 'audio/fla', 'youtube/flv', 'video/jarisplayer', 'jarisplayer/jarisplayer', 'video/youtube', 'video/rtmp', 'audio/rtmp'];
344
355
 
345
356
  mediaelement.canThirdPlaySrces = function(mediaElem, srces){
346
357
  var ret = '';
@@ -365,11 +376,12 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
365
376
  if(hasNative){
366
377
  mediaElem = $(mediaElem);
367
378
  var nodeName = (mediaElem[0].nodeName || '').toLowerCase();
368
- if(!nativeCanPlayType[nodeName]){return ret;}
379
+ var nativeCanPlay = (nativeCanPlayType[nodeName] || {prop: {_supvalue: false}}).prop._supvalue || mediaElem[0].canPlayType;
380
+ if(!nativeCanPlay){return ret;}
369
381
  srces = srces || mediaelement.srces(mediaElem);
370
382
 
371
383
  $.each(srces, function(i, src){
372
- if(src.type && nativeCanPlayType[nodeName].prop._supvalue.call(mediaElem[0], src.type) ){
384
+ if(src.type && nativeCanPlay.call(mediaElem[0], src.type) ){
373
385
  ret = src;
374
386
  return false;
375
387
  }
@@ -384,7 +396,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
384
396
  }
385
397
 
386
398
  $(elem).pause().data('mediaerror', message);
387
- webshims.warn('mediaelementError: '+ message);
399
+ webshims.error('mediaelementError: '+ message);
388
400
  setTimeout(function(){
389
401
  if($(elem).data('mediaerror')){
390
402
  $(elem).trigger('mediaerror');
@@ -458,6 +470,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
458
470
  };
459
471
  mediaelement.selectSource = selectSource;
460
472
 
473
+
461
474
  $(document).on('ended', function(e){
462
475
  var data = webshims.data(e.target, 'mediaelement');
463
476
  if( supportsLoop && (!data || data.isActive == 'html5') && !$.prop(e.target, 'loop')){return;}
@@ -467,121 +480,141 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
467
480
  }, 1);
468
481
 
469
482
  });
470
- if(!supportsLoop){
471
- webshims.defineNodeNamesBooleanProperty(['audio', 'video'], 'loop');
472
- }
473
483
 
474
- ['audio', 'video'].forEach(function(nodeName){
475
- var supLoad = webshims.defineNodeNameProperty(nodeName, 'load', {
476
- prop: {
477
- value: function(){
478
- var data = webshims.data(this, 'mediaelement');
479
- selectSource(this, data);
480
- if(hasNative && (!data || data.isActive == 'html5') && supLoad.prop._supvalue){
481
- supLoad.prop._supvalue.apply(this, arguments);
484
+ webshims.ready('dom-support', function(){
485
+ if(!supportsLoop){
486
+ webshims.defineNodeNamesBooleanProperty(['audio', 'video'], 'loop');
487
+ }
488
+
489
+ ['audio', 'video'].forEach(function(nodeName){
490
+ var supLoad = webshims.defineNodeNameProperty(nodeName, 'load', {
491
+ prop: {
492
+ value: function(){
493
+ var data = webshims.data(this, 'mediaelement');
494
+ selectSource(this, data);
495
+ if(hasNative && (!data || data.isActive == 'html5') && supLoad.prop._supvalue){
496
+ supLoad.prop._supvalue.apply(this, arguments);
497
+ }
482
498
  }
483
499
  }
484
- }
485
- });
486
- nativeCanPlayType[nodeName] = webshims.defineNodeNameProperty(nodeName, 'canPlayType', {
487
- prop: {
488
- value: function(type){
489
- var ret = '';
490
- if(hasNative && nativeCanPlayType[nodeName].prop._supvalue){
491
- ret = nativeCanPlayType[nodeName].prop._supvalue.call(this, type);
492
- if(ret == 'no'){
493
- ret = '';
500
+ });
501
+ nativeCanPlayType[nodeName] = webshims.defineNodeNameProperty(nodeName, 'canPlayType', {
502
+ prop: {
503
+ value: function(type){
504
+ var ret = '';
505
+ if(hasNative && nativeCanPlayType[nodeName].prop._supvalue){
506
+ ret = nativeCanPlayType[nodeName].prop._supvalue.call(this, type);
507
+ if(ret == 'no'){
508
+ ret = '';
509
+ }
494
510
  }
495
- }
496
- if(!ret && hasSwf){
497
- type = $.trim((type || '').split(';')[0]);
498
- if(mediaelement.swfMimeTypes.indexOf(type) != -1){
499
- ret = 'maybe';
511
+ if(!ret && hasSwf){
512
+ type = $.trim((type || '').split(';')[0]);
513
+ if(mediaelement.swfMimeTypes.indexOf(type) != -1){
514
+ ret = 'maybe';
515
+ }
500
516
  }
517
+ return ret;
501
518
  }
502
- return ret;
503
519
  }
520
+ });
521
+ });
522
+ webshims.onNodeNamesPropertyModify(['audio', 'video'], ['src', 'poster'], {
523
+ set: function(){
524
+ var elem = this;
525
+ var baseData = webshims.data(elem, 'mediaelementBase') || webshims.data(elem, 'mediaelementBase', {});
526
+ clearTimeout(baseData.loadTimer);
527
+ baseData.loadTimer = setTimeout(function(){
528
+ selectSource(elem);
529
+ elem = null;
530
+ }, 9);
504
531
  }
505
532
  });
506
533
  });
507
- webshims.onNodeNamesPropertyModify(['audio', 'video'], ['src', 'poster'], {
508
- set: function(){
509
- var elem = this;
510
- var baseData = webshims.data(elem, 'mediaelementBase') || webshims.data(elem, 'mediaelementBase', {});
511
- clearTimeout(baseData.loadTimer);
512
- baseData.loadTimer = setTimeout(function(){
513
- selectSource(elem);
514
- elem = null;
515
- }, 9);
516
- }
517
- });
518
534
 
519
535
  var initMediaElements = function(){
520
-
521
- webshims.addReady(function(context, insertedElement){
522
- var media = $('video, audio', context)
523
- .add(insertedElement.filter('video, audio'))
524
- .each(function(){
525
- var data = webshims.data(this, 'mediaelement');
526
-
527
- if(hasNative && $.prop(this, 'paused') && !$.prop(this, 'readyState') && $(this).is('audio[preload="none"][controls]:not([autoplay])') && (!data || data.isActive == 'html5')){
528
- //IE controls not visible bug
529
- $(this).prop('preload', 'metadata').mediaLoad();
530
- } else {
531
- selectSource(this, data);
532
- }
536
+ var testFixMedia = function(){
537
+ if(webshims.implement(this, 'mediaelement')){
538
+ selectSource(this);
539
+
540
+ if(hasNative){
541
+ var bufferTimer;
542
+ var lastBuffered;
543
+ var elem = this;
544
+ var getBufferedString = function(){
545
+ var buffered = $.prop(elem, 'buffered');
546
+ if(!buffered){return;}
547
+ var bufferString = "";
548
+ for(var i = 0, len = buffered.length; i < len;i++){
549
+ bufferString += buffered.end(i);
550
+ }
551
+ return bufferString;
552
+ };
553
+ var testBuffer = function(){
554
+ var buffered = getBufferedString();
555
+ if(buffered != lastBuffered){
556
+ lastBuffered = buffered;
557
+ $(elem).triggerHandler('progress');
558
+ }
559
+ };
533
560
 
534
- if(hasNative){
535
-
536
- //FF progress bug
537
- (function(){
538
- var bufferTimer;
539
- var lastBuffered;
540
- var elem = this;
541
- var getBufferedString = function(){
542
- var buffered = $.prop(elem, 'buffered');
543
- if(!buffered){return;}
544
- var bufferString = "";
545
- for(var i = 0, len = buffered.length; i < len;i++){
546
- bufferString += buffered.end(i);
561
+ $(this)
562
+ .on({
563
+ 'play loadstart progress': function(e){
564
+ if(e.type == 'progress'){
565
+ lastBuffered = getBufferedString();
547
566
  }
548
- return bufferString;
549
- };
550
- var testBuffer = function(){
551
- var buffered = getBufferedString();
552
- if(buffered != lastBuffered){
553
- lastBuffered = buffered;
554
- $(elem).triggerHandler('progress');
567
+ clearTimeout(bufferTimer);
568
+ bufferTimer = setTimeout(testBuffer, 999);
569
+ },
570
+ 'emptied stalled mediaerror abort suspend': function(e){
571
+ if(e.type == 'emptied'){
572
+ lastBuffered = false;
555
573
  }
556
- };
557
-
558
- $(this)
559
- .on({
560
- 'play loadstart progress': function(e){
561
- if(e.type == 'progress'){
562
- lastBuffered = getBufferedString();
563
- }
564
- clearTimeout(bufferTimer);
565
- bufferTimer = setTimeout(testBuffer, 999);
566
- },
567
- 'emptied stalled mediaerror abort suspend': function(e){
568
- if(e.type == 'emptied'){
569
- lastBuffered = false;
570
- }
571
- clearTimeout(bufferTimer);
572
- }
573
- })
574
- ;
575
- })();
574
+ clearTimeout(bufferTimer);
575
+ }
576
+ })
577
+ ;
578
+ if('ActiveXObject' in window && $.prop(this, 'paused') && !$.prop(this, 'readyState') && $(this).is('audio[preload="none"][controls]:not([autoplay],.nonnative-api-active)')){
579
+ $(this).prop('preload', 'metadata').mediaLoad();
576
580
  }
577
-
578
- })
579
- ;
580
- if(!loadTrackUi.loaded && $('track', media).length){
581
- loadTrackUi();
581
+ }
582
582
  }
583
- media = null;
583
+
584
+ };
585
+ var handleMedia = false;
586
+
587
+
588
+ webshims.ready('dom-support', function(){
589
+ handleMedia = true;
590
+ webshims.addReady(function(context, insertedElement){
591
+ var media = $('video, audio', context)
592
+ .add(insertedElement.filter('video, audio'))
593
+ .each(testFixMedia)
594
+ ;
595
+ if(!loadTrackUi.loaded && $('track', media).length){
596
+ loadTrackUi();
597
+ }
598
+ media = null;
599
+ });
584
600
  });
601
+
602
+ if(hasNative && !handleMedia){
603
+ webshims.addReady(function(context, insertedElement){
604
+ if(!handleMedia){
605
+ $('video, audio', context)
606
+ .add(insertedElement.filter('video, audio'))
607
+ .each(function(){
608
+ if(!mediaelement.canNativePlaySrces(this) || (!loadTrackUi.loaded && $('track', this).length)){
609
+ loadThird();
610
+ handleMedia = true;
611
+ return false;
612
+ }
613
+ })
614
+ ;
615
+ }
616
+ });
617
+ }
585
618
  };
586
619
 
587
620
  if(Modernizr.track && !bugs.track){