webshims-rails 1.11.3.1 → 1.11.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (72) hide show
  1. checksums.yaml +4 -4
  2. data/lib/webshims-rails/version.rb +2 -2
  3. data/vendor/assets/javascripts/webshims/extras/modernizr-custom.js +114 -104
  4. data/vendor/assets/javascripts/webshims/extras/mousepress.js +5 -5
  5. data/vendor/assets/javascripts/webshims/polyfiller.js +156 -207
  6. data/vendor/assets/javascripts/webshims/shims/$ajax.js +862 -0
  7. data/vendor/assets/javascripts/webshims/shims/FlashCanvas/flashcanvas.js +20 -0
  8. data/vendor/assets/javascripts/webshims/shims/FlashCanvasPro/flashcanvas.js +20 -0
  9. data/vendor/assets/javascripts/webshims/shims/color-picker.js +12 -12
  10. data/vendor/assets/javascripts/webshims/shims/combos/1.js +62 -32
  11. data/vendor/assets/javascripts/webshims/shims/combos/10.js +192 -509
  12. data/vendor/assets/javascripts/webshims/shims/combos/11.js +96 -415
  13. data/vendor/assets/javascripts/webshims/shims/combos/12.js +36 -26
  14. data/vendor/assets/javascripts/webshims/shims/combos/13.js +36 -26
  15. data/vendor/assets/javascripts/webshims/shims/combos/14.js +1007 -359
  16. data/vendor/assets/javascripts/webshims/shims/combos/15.js +310 -235
  17. data/vendor/assets/javascripts/webshims/shims/combos/16.js +313 -237
  18. data/vendor/assets/javascripts/webshims/shims/combos/17.js +96 -415
  19. data/vendor/assets/javascripts/webshims/shims/combos/18.js +1003 -678
  20. data/vendor/assets/javascripts/webshims/shims/combos/19.js +1085 -387
  21. data/vendor/assets/javascripts/webshims/shims/combos/2.js +161 -127
  22. data/vendor/assets/javascripts/webshims/shims/combos/20.js +1086 -388
  23. data/vendor/assets/javascripts/webshims/shims/combos/21.js +168 -96
  24. data/vendor/assets/javascripts/webshims/shims/combos/22.js +36 -27
  25. data/vendor/assets/javascripts/webshims/shims/combos/23.js +2 -1
  26. data/vendor/assets/javascripts/webshims/shims/combos/24.js +411 -172
  27. data/vendor/assets/javascripts/webshims/shims/combos/25.js +1085 -387
  28. data/vendor/assets/javascripts/webshims/shims/combos/26.js +96 -94
  29. data/vendor/assets/javascripts/webshims/shims/combos/3.js +163 -140
  30. data/vendor/assets/javascripts/webshims/shims/combos/30.js +166 -141
  31. data/vendor/assets/javascripts/webshims/shims/combos/31.js +159 -126
  32. data/vendor/assets/javascripts/webshims/shims/combos/4.js +103 -109
  33. data/vendor/assets/javascripts/webshims/shims/combos/5.js +98 -417
  34. data/vendor/assets/javascripts/webshims/shims/combos/6.js +101 -418
  35. data/vendor/assets/javascripts/webshims/shims/combos/7.js +168 -142
  36. data/vendor/assets/javascripts/webshims/shims/combos/8.js +165 -141
  37. data/vendor/assets/javascripts/webshims/shims/combos/9.js +195 -510
  38. data/vendor/assets/javascripts/webshims/shims/details.js +2 -2
  39. data/vendor/assets/javascripts/webshims/shims/dom-extend.js +96 -94
  40. data/vendor/assets/javascripts/webshims/shims/es5.js +908 -264
  41. data/vendor/assets/javascripts/webshims/shims/excanvas.js +16 -1
  42. data/vendor/assets/javascripts/webshims/shims/form-combat.js +147 -0
  43. data/vendor/assets/javascripts/webshims/shims/form-core.js +60 -31
  44. data/vendor/assets/javascripts/webshims/shims/form-datalist-lazy.js +114 -33
  45. data/vendor/assets/javascripts/webshims/shims/form-datalist.js +3 -1
  46. data/vendor/assets/javascripts/webshims/shims/form-message.js +7 -15
  47. data/vendor/assets/javascripts/webshims/shims/form-native-extend.js +2 -2
  48. data/vendor/assets/javascripts/webshims/shims/form-number-date-ui.js +88 -410
  49. data/vendor/assets/javascripts/webshims/shims/form-shim-extend.js +143 -93
  50. data/vendor/assets/javascripts/webshims/shims/form-shim-extend2.js +268 -79
  51. data/vendor/assets/javascripts/webshims/shims/form-validation.js +116 -81
  52. data/vendor/assets/javascripts/webshims/shims/form-validators.js +23 -10
  53. data/vendor/assets/javascripts/webshims/shims/forms-picker.js +605 -9
  54. data/vendor/assets/javascripts/webshims/shims/geolocation.js +51 -39
  55. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-de.js +78 -33
  56. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-en.js +24 -6
  57. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-nl.js +110 -49
  58. data/vendor/assets/javascripts/webshims/shims/json-storage.js +3 -1
  59. data/vendor/assets/javascripts/webshims/shims/mediaelement-core.js +2 -1
  60. data/vendor/assets/javascripts/webshims/shims/mediaelement-jaris.js +81 -30
  61. data/vendor/assets/javascripts/webshims/shims/mediaelement-yt.js +131 -54
  62. data/vendor/assets/javascripts/webshims/shims/plugins/jquery.ui.position.js +497 -0
  63. data/vendor/assets/javascripts/webshims/shims/range-ui.js +8 -5
  64. data/vendor/assets/javascripts/webshims/shims/sizzle.js +2026 -0
  65. data/vendor/assets/javascripts/webshims/shims/styles/forms-ext.css +401 -521
  66. data/vendor/assets/javascripts/webshims/shims/styles/scss/forms-ext.scss +1 -1
  67. data/vendor/assets/javascripts/webshims/shims/styles/scss/shim.scss +94 -82
  68. data/vendor/assets/javascripts/webshims/shims/styles/shim.css +250 -321
  69. data/vendor/assets/javascripts/webshims/shims/swf/JarisFLVPlayer.swf +0 -0
  70. data/vendor/assets/javascripts/webshims/shims/track-ui.js +1 -1
  71. data/vendor/assets/javascripts/webshims/shims/track.js +34 -25
  72. metadata +7 -3
@@ -16,6 +16,7 @@
16
16
  errorTimer,
17
17
  googleTimer,
18
18
  calledEnd,
19
+ createAjax,
19
20
  endCallback = function(){
20
21
  if(calledEnd){return;}
21
22
  if(pos){
@@ -39,7 +40,7 @@
39
40
  endCallback();
40
41
  },
41
42
  resetCallback = function(){
42
- $(document).unbind('google-loader', resetCallback);
43
+ $(document).off('google-loader', resetCallback);
43
44
  clearTimeout(googleTimer);
44
45
  clearTimeout(errorTimer);
45
46
  },
@@ -84,44 +85,52 @@
84
85
  }
85
86
  return;
86
87
  }
87
- $.ajax({
88
- url: 'http://freegeoip.net/json/',
89
- dataType: 'jsonp',
90
- cache: true,
91
- jsonp: 'callback',
92
- success: function(data){
93
- locationAPIs--;
94
- if(!data){return;}
95
- pos = pos || {
96
- coords: {
97
- latitude: data.latitude,
98
- longitude: data.longitude,
99
- altitude: null,
100
- accuracy: 43000,
101
- altitudeAccuracy: null,
102
- heading: parseInt('NaN', 10),
103
- velocity: null
104
- },
105
- //extension similiar to FF implementation
106
- address: {
107
- city: data.city,
108
- country: data.country_name,
109
- countryCode: data.country_code,
110
- county: "",
111
- postalCode: data.zipcode,
112
- premises: "",
113
- region: data.region_name,
114
- street: "",
115
- streetNumber: ""
116
- }
117
- };
118
- endCallback();
119
- },
120
- error: function(){
121
- locationAPIs--;
122
- endCallback();
123
- }
124
- });
88
+ createAjax = function(){
89
+ $.ajax({
90
+ url: 'http://freegeoip.net/json/',
91
+ dataType: 'jsonp',
92
+ cache: true,
93
+ jsonp: 'callback',
94
+ success: function(data){
95
+ locationAPIs--;
96
+ if(!data){return;}
97
+ pos = pos || {
98
+ coords: {
99
+ latitude: data.latitude,
100
+ longitude: data.longitude,
101
+ altitude: null,
102
+ accuracy: 43000,
103
+ altitudeAccuracy: null,
104
+ heading: parseInt('NaN', 10),
105
+ velocity: null
106
+ },
107
+ //extension similiar to FF implementation
108
+ address: {
109
+ city: data.city,
110
+ country: data.country_name,
111
+ countryCode: data.country_code,
112
+ county: "",
113
+ postalCode: data.zipcode,
114
+ premises: "",
115
+ region: data.region_name,
116
+ street: "",
117
+ streetNumber: ""
118
+ }
119
+ };
120
+ endCallback();
121
+ },
122
+ error: function(){
123
+ locationAPIs--;
124
+ endCallback();
125
+ }
126
+ });
127
+ };
128
+ if($.ajax){
129
+ createAjax();
130
+ } else {
131
+ webshims.ready('$ajax', createAjax);
132
+ webshims.loader.loadList(['$ajax']);
133
+ }
125
134
  clearTimeout(googleTimer);
126
135
  if (!window.google || !window.google.loader) {
127
136
  googleTimer = setTimeout(function(){
@@ -164,5 +173,8 @@
164
173
  return api;
165
174
  })();
166
175
 
176
+ webshims.ready('WINDOWLOAD', function(){
177
+ webshims.loader.loadList(['$ajax']);
178
+ });
167
179
  webshims.isReady('geolocation', true);
168
180
  })(webshims.$);
@@ -1,4 +1,3 @@
1
- //errormessages for de are already included in webshims core, this is only for information:
2
1
  webshims.validityMessages.de = {
3
2
  "typeMismatch": {
4
3
  "defaultMessage": "{%value} ist in diesem Feld nicht zulässig.",
@@ -30,6 +29,7 @@ webshims.validityMessages.de = {
30
29
  },
31
30
  "stepMismatch": "Der Wert {%value} ist in diesem Feld nicht zulässig. Hier sind nur bestimmte Werte zulässig. {%title}",
32
31
  "tooLong": "Der eingegebene Text ist zu lang! Sie haben {%valueLen} Zeichen eingegeben, dabei sind {%maxlength} das Maximum.",
32
+ "tooShort": "Der eingegebene Text ist zu kurz! Sie haben {%valueLen} Zeichen eingegeben, dabei sind {%minlength} das Minimum.",
33
33
  "patternMismatch": "{%value} hat für dieses Eingabefeld ein falsches Format. {%title}",
34
34
  "valueMissing": {
35
35
  "defaultMessage": "Bitte geben Sie einen Wert ein.",
@@ -40,43 +40,88 @@ webshims.validityMessages.de = {
40
40
  };
41
41
 
42
42
  webshims.formcfg.de = {
43
- numberFormat: {
43
+ "numberFormat": {
44
44
  ",": ".",
45
45
  ".": ","
46
46
  },
47
- timeSigns: ":. ",
48
- numberSigns: ',',
49
- dateSigns: '.',
50
- dFormat: ".",
51
- patterns: {
52
- d: "dd.mm.yy"
47
+ "timeSigns": ":. ",
48
+ "numberSigns": ",",
49
+ "dateSigns": ".",
50
+ "dFormat": ".",
51
+ "patterns": {
52
+ "d": "dd.mm.yy"
53
53
  },
54
- month: {
55
- currentText: 'Aktueller Monat'
54
+ "month": {
55
+ "currentText": "Aktueller Monat"
56
56
  },
57
- time: {
58
- currentText: 'Jetzt'
57
+ "time": {
58
+ "currentText": "Jetzt"
59
59
  },
60
- "week": {
61
- "currentText": "Aktuelle Woche"
62
- },
63
- date: {
64
- close: 'schließen',
65
- clear: 'Löschen',
66
- prevText: 'zurück',
67
- nextText: 'Vor',
68
- currentText: 'heute',
69
- monthNames: ['Januar','Februar','März','April','Mai','Juni',
70
- 'Juli','August','September','Oktober','November','Dezember'],
71
- monthNamesShort: ['Jan','Feb','Mär','Apr','Mai','Jun',
72
- 'Jul','Aug','Sep','Okt','Nov','Dez'],
73
- dayNames: ['Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag'],
74
- dayNamesShort: ['So','Mo','Di','Mi','Do','Fr','Sa'],
75
- dayNamesMin: ['So','Mo','Di','Mi','Do','Fr','Sa'],
76
- weekHeader: 'KW',
77
- firstDay: 1,
78
- isRTL: false,
79
- showMonthAfterYear: false,
80
- yearSuffix: ''
60
+ "date": {
61
+ "close": "schließen",
62
+ "clear": "Löschen",
63
+ "prevText": "Zurück",
64
+ "nextText": "Vor",
65
+ "currentText": "Heute",
66
+ "monthNames": [
67
+ "Januar",
68
+ "Februar",
69
+ "März",
70
+ "April",
71
+ "Mai",
72
+ "Juni",
73
+ "Juli",
74
+ "August",
75
+ "September",
76
+ "Oktober",
77
+ "November",
78
+ "Dezember"
79
+ ],
80
+ "monthNamesShort": [
81
+ "Jan",
82
+ "Feb",
83
+ "Mär",
84
+ "Apr",
85
+ "Mai",
86
+ "Jun",
87
+ "Jul",
88
+ "Aug",
89
+ "Sep",
90
+ "Okt",
91
+ "Nov",
92
+ "Dez"
93
+ ],
94
+ "dayNames": [
95
+ "Sonntag",
96
+ "Montag",
97
+ "Dienstag",
98
+ "Mittwoch",
99
+ "Donnerstag",
100
+ "Freitag",
101
+ "Samstag"
102
+ ],
103
+ "dayNamesShort": [
104
+ "So",
105
+ "Mo",
106
+ "Di",
107
+ "Mi",
108
+ "Do",
109
+ "Fr",
110
+ "Sa"
111
+ ],
112
+ "dayNamesMin": [
113
+ "So",
114
+ "Mo",
115
+ "Di",
116
+ "Mi",
117
+ "Do",
118
+ "Fr",
119
+ "Sa"
120
+ ],
121
+ "weekHeader": "KW",
122
+ "firstDay": 1,
123
+ "isRTL": false,
124
+ "showMonthAfterYear": false,
125
+ "yearSuffix": ""
81
126
  }
82
127
  };
@@ -31,6 +31,7 @@ webshims.validityMessages.en = {
31
31
  },
32
32
  "stepMismatch": "Invalid input.",
33
33
  "tooLong": "Please enter at most {%maxlength} character(s). You entered {%valueLen}.",
34
+ "tooShort": "Please enter at least {%minlength} character(s). You entered {%valueLen}.",
34
35
  "patternMismatch": "Invalid input. {%title}",
35
36
  "valueMissing": {
36
37
  "defaultMessage": "Please fill out this field.",
@@ -44,19 +45,20 @@ webshims.formcfg.en = {
44
45
  ".": ".",
45
46
  ",": ","
46
47
  },
47
- "numberSigns": ".-",
48
+ "numberSigns": ".",
48
49
  "dateSigns": "/",
49
50
  "timeSigns": ":. ",
50
51
  "dFormat": "/",
51
52
  "patterns": {
52
53
  "d": "mm/dd/yy"
53
54
  },
55
+ "meridian": [
56
+ "AM",
57
+ "PM"
58
+ ],
54
59
  "month": {
55
60
  "currentText": "This month"
56
61
  },
57
- "week": {
58
- "currentText": "This week"
59
- },
60
62
  "time": {
61
63
  "currentText": "Now"
62
64
  },
@@ -103,8 +105,24 @@ webshims.formcfg.en = {
103
105
  "Friday",
104
106
  "Saturday"
105
107
  ],
106
- "dayNamesShort": ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"],
107
- "dayNamesMin": ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"],
108
+ "dayNamesShort": [
109
+ "Sun",
110
+ "Mon",
111
+ "Tue",
112
+ "Wed",
113
+ "Thu",
114
+ "Fri",
115
+ "Sat"
116
+ ],
117
+ "dayNamesMin": [
118
+ "Su",
119
+ "Mo",
120
+ "Tu",
121
+ "We",
122
+ "Th",
123
+ "Fr",
124
+ "Sa"
125
+ ],
108
126
  "weekHeader": "Wk",
109
127
  "firstDay": 0,
110
128
  "isRTL": false,
@@ -1,65 +1,126 @@
1
1
  webshims.validityMessages.nl = {
2
2
  "typeMismatch": {
3
- "email": "Voer een e-mailadres in.",
4
- "url": "Voer een URL in."
3
+ "defaultMessage": "Voer een geldige waarde in.",
4
+ "email": "Voer een geldig e-mailadres in.",
5
+ "url": "Voer een geldige website url in."
5
6
  },
6
7
  "badInput": {
7
- "number": "Ongeldige waarde.",
8
- "date": "Ongeldige waarde.",
9
- "time": "Ongeldige waarde.",
10
- "range": "Ongeldige waarde.",
11
- "datetime-local": "Ongeldige waarde."
12
- },
13
- "tooLong": "Ongeldige waarde.",
14
- "patternMismatch": "Gebruik de verzochte opmaak: {%title}.",
15
- "valueMissing": {
16
- "defaultMessage": "Vul dit veld in.",
17
- "checkbox": "Vink dit vakje aan als u wilt doorgaan.",
18
- "select": "Selecteer een item in de lijst.",
19
- "radio": "Selecteer een van deze opties."
8
+ "defaultMessage": "Voer een geldige waarde in.",
9
+ "number": "Voer een nummer in.",
10
+ "date": "Voer een datum in.",
11
+ "time": "Voer een tijd in.",
12
+ "range": "Voer een bereik in.",
13
+ "month": "Voer een maand in.",
14
+ "datetime-local": "Voer een lokale datumtijd in."
20
15
  },
21
16
  "rangeUnderflow": {
22
17
  "defaultMessage": "Waarde moet groter dan of gelijk zijn aan {%min}.",
23
- "date": "Waarde moet groter dan of gelijk zijn aan {%min}.",
24
- "time": "Waarde moet groter dan of gelijk zijn aan {%min}.",
25
- "datetime-local": "Waarde moet groter dan of gelijk zijn aan {%min}."
18
+ "date": "Datum moet op of na {%min} zijn.",
19
+ "time": "Tijd moet op of na {%min} zijn.",
20
+ "datetime-local": "Datumtijd moet op of na {%min} zijn.",
21
+ "month": "Maand moet op of na {%min} zijn."
26
22
  },
27
23
  "rangeOverflow": {
28
24
  "defaultMessage": "Waarde moet kleiner dan of gelijk zijn aan {%max}.",
29
- "date": "Waarde moet kleiner dan of gelijk zijn aan {%max}.",
30
- "time": "Waarde moet kleiner dan of gelijk zijn aan {%max}.",
31
- "datetime-local": "Waarde moet kleiner dan of gelijk zijn aan {%max}."
25
+ "date": "Datum moet op of voor {%max} zijn.",
26
+ "time": "Tijd moet op of voor {%max} zijn.",
27
+ "datetime-local": "Waarde moet kleiner dan of gelijk zijn aan {%max}.",
28
+ "month": "Maand moet op of voor {%max} zijn."
32
29
  },
33
- "stepMismatch": "Ongeldige waarde."
30
+ "stepMismatch": "Ongeldige invoer.",
31
+ "tooLong": "Voer maximaal {%maxLength} karakter(s) in. {%valueLen} is te lang.",
32
+ "tooShort": "Voer minimaal {%minLength} karakter(s) in. {%valueLen} is te kort.",
33
+ "patternMismatch": "Voer een waarde in met de gevraagde opmaak: {%title}.",
34
+ "valueMissing": {
35
+ "defaultMessage": "Vul dit veld in.",
36
+ "checkbox": "Vink dit vakje aan als u wilt doorgaan.",
37
+ "select": "Selecteer een item in de lijst.",
38
+ "radio": "Selecteer één van deze opties."
39
+ }
34
40
  };
35
41
  webshims.formcfg.nl = {
36
- numberFormat: {
37
- ".": ".",
38
- ",": ","
42
+ "numberFormat": {
43
+ ",": ".",
44
+ ".": ","
39
45
  },
40
- numberSigns: '.',
41
- dateSigns: '-',
42
- timeSigns: ":. ",
43
- dFormat: "-",
44
- patterns: {
45
- d: 'dd-mm-yy'
46
+ "numberSigns": ",",
47
+ "dateSigns": "-",
48
+ "timeSigns": ":. ",
49
+ "dFormat": "-",
50
+ "patterns": {
51
+ "d": "dd-mm-yy"
46
52
  },
47
- date: {
48
- closeText: 'Sluiten',
49
- prevText: '←',
50
- nextText: '→',
51
- currentText: 'Vandaag',
52
- monthNames: ['januari', 'februari', 'maart', 'april', 'mei', 'juni',
53
- 'juli', 'augustus', 'september', 'oktober', 'november', 'december'],
54
- monthNamesShort: ['jan', 'feb', 'mrt', 'apr', 'mei', 'jun',
55
- 'jul', 'aug', 'sep', 'okt', 'nov', 'dec'],
56
- dayNames: ['zondag', 'maandag', 'dinsdag', 'woensdag', 'donderdag', 'vrijdag', 'zaterdag'],
57
- dayNamesShort: ['zon', 'maa', 'din', 'woe', 'don', 'vri', 'zat'],
58
- dayNamesMin: ['zo', 'ma', 'di', 'wo', 'do', 'vr', 'za'],
59
- weekHeader: 'Wk',
60
- firstDay: 1,
61
- isRTL: false,
62
- showMonthAfterYear: false,
63
- yearSuffix: ''
53
+ "month": {
54
+ "currentText": "Huidige maand"
55
+ },
56
+ "time": {
57
+ "currentText": "Nu"
58
+ },
59
+ "date": {
60
+ "closeText": "Sluiten",
61
+ "clear": "Wissen",
62
+ "prevText": "Vorige",
63
+ "nextText": "Volgende",
64
+ "currentText": "Vandaag",
65
+ "monthNames": [
66
+ "januari",
67
+ "februari",
68
+ "maart",
69
+ "april",
70
+ "mei",
71
+ "juni",
72
+ "juli",
73
+ "augustus",
74
+ "september",
75
+ "oktober",
76
+ "november",
77
+ "december"
78
+ ],
79
+ "monthNamesShort": [
80
+ "jan",
81
+ "feb",
82
+ "mrt",
83
+ "apr",
84
+ "mei",
85
+ "jun",
86
+ "jul",
87
+ "aug",
88
+ "sep",
89
+ "okt",
90
+ "nov",
91
+ "dec"
92
+ ],
93
+ "dayNames": [
94
+ "zondag",
95
+ "maandag",
96
+ "dinsdag",
97
+ "woensdag",
98
+ "donderdag",
99
+ "vrijdag",
100
+ "zaterdag"
101
+ ],
102
+ "dayNamesShort": [
103
+ "zon",
104
+ "maa",
105
+ "din",
106
+ "woe",
107
+ "don",
108
+ "vri",
109
+ "zat"
110
+ ],
111
+ "dayNamesMin": [
112
+ "zo",
113
+ "ma",
114
+ "di",
115
+ "wo",
116
+ "do",
117
+ "vr",
118
+ "za"
119
+ ],
120
+ "weekHeader": "Wk",
121
+ "firstDay": 1,
122
+ "isRTL": false,
123
+ "showMonthAfterYear": false,
124
+ "yearSuffix": ""
64
125
  }
65
- };
126
+ };
@@ -11,7 +11,9 @@ if(!this.JSON){this.JSON={};}(function(){function f(n){return n<10?'0'+n:n;}if(t
11
11
  //using window.name for sessionStorage and cookies for localStorage
12
12
 
13
13
  (function () {
14
- var $ = webshims.$ || jQuery;
14
+ var $ = webshims.$ || jQuery;
15
+ webshims.error("The json-storage is depreacated. IE8+ supports this feature. No one should need a polyfill anymore!");
16
+
15
17
  if ('localStorage' in window && 'sessionStorage' in window) {
16
18
  $.webshims.isReady('json-storage', true);
17
19
  return;
@@ -43,7 +43,7 @@
43
43
  var switchOptions = function(e){
44
44
  var media, error, parent;
45
45
  if(!options.preferFlash &&
46
- ($(e.target).is('audio, video') || ((parent = e.target.parentNode) && $('source:last', parent)[0] == e.target)) &&
46
+ ($(e.target).is('audio, video') || ((parent = e.target.parentNode) && $('source', parent).last()[0] == e.target)) &&
47
47
  (media = $(e.target).closest('audio, video')) && (error = media.prop('error')) && !noSwitch[error.code]
48
48
  ){
49
49
 
@@ -551,6 +551,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
551
551
  if(hasNative && (!data || data.isActive == 'html5') && supLoad.prop._supvalue){
552
552
  supLoad.prop._supvalue.apply(this, arguments);
553
553
  }
554
+ $(this).triggerHandler('wsmediareload');
554
555
  }
555
556
  }
556
557
  });