webshims-rails 1.15.3 → 1.15.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (68) hide show
  1. checksums.yaml +4 -4
  2. data/lib/webshims-rails/version.rb +2 -2
  3. data/vendor/assets/javascripts/webshims/polyfiller.js +32 -30
  4. data/vendor/assets/javascripts/webshims/shims/canvas-blob.js +1 -7
  5. data/vendor/assets/javascripts/webshims/shims/combos/1.js +2 -0
  6. data/vendor/assets/javascripts/webshims/shims/combos/10.js +50 -41
  7. data/vendor/assets/javascripts/webshims/shims/combos/11.js +34 -30
  8. data/vendor/assets/javascripts/webshims/shims/combos/12.js +14 -2
  9. data/vendor/assets/javascripts/webshims/shims/combos/13.js +14 -2
  10. data/vendor/assets/javascripts/webshims/shims/combos/15.js +31 -21
  11. data/vendor/assets/javascripts/webshims/shims/combos/16.js +31 -21
  12. data/vendor/assets/javascripts/webshims/shims/combos/17.js +34 -30
  13. data/vendor/assets/javascripts/webshims/shims/combos/18.js +387 -527
  14. data/vendor/assets/javascripts/webshims/shims/combos/2.js +18 -11
  15. data/vendor/assets/javascripts/webshims/shims/combos/21.js +39 -2
  16. data/vendor/assets/javascripts/webshims/shims/combos/22.js +14 -2
  17. data/vendor/assets/javascripts/webshims/shims/combos/25.js +53 -26
  18. data/vendor/assets/javascripts/webshims/shims/combos/27.js +12 -15
  19. data/vendor/assets/javascripts/webshims/shims/combos/28.js +13 -10
  20. data/vendor/assets/javascripts/webshims/shims/combos/3.js +18 -11
  21. data/vendor/assets/javascripts/webshims/shims/combos/30.js +18 -11
  22. data/vendor/assets/javascripts/webshims/shims/combos/31.js +18 -11
  23. data/vendor/assets/javascripts/webshims/shims/combos/34.js +30 -13
  24. data/vendor/assets/javascripts/webshims/shims/combos/4.js +16 -11
  25. data/vendor/assets/javascripts/webshims/shims/combos/5.js +34 -30
  26. data/vendor/assets/javascripts/webshims/shims/combos/6.js +34 -30
  27. data/vendor/assets/javascripts/webshims/shims/combos/7.js +18 -11
  28. data/vendor/assets/javascripts/webshims/shims/combos/8.js +18 -11
  29. data/vendor/assets/javascripts/webshims/shims/combos/9.js +50 -41
  30. data/vendor/assets/javascripts/webshims/shims/dom-extend.js +16 -11
  31. data/vendor/assets/javascripts/webshims/shims/es5.js +507 -481
  32. data/vendor/assets/javascripts/webshims/shims/filereader-xhr.js +12 -15
  33. data/vendor/assets/javascripts/webshims/shims/form-core.js +2 -0
  34. data/vendor/assets/javascripts/webshims/shims/form-number-date-ui.js +34 -30
  35. data/vendor/assets/javascripts/webshims/shims/form-shim-extend.js +13 -10
  36. data/vendor/assets/javascripts/webshims/shims/form-validation.js +2 -2
  37. data/vendor/assets/javascripts/webshims/shims/form-validators.js +0 -6
  38. data/vendor/assets/javascripts/webshims/shims/forms-picker.js +3 -3
  39. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-ca.js +65 -0
  40. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-ru.js +8 -1
  41. data/vendor/assets/javascripts/webshims/shims/jme/controls.css +1 -3
  42. data/vendor/assets/javascripts/webshims/shims/jpicker/images/AlphaBar.png +0 -0
  43. data/vendor/assets/javascripts/webshims/shims/jpicker/images/Bars.png +0 -0
  44. data/vendor/assets/javascripts/webshims/shims/jpicker/images/Maps.png +0 -0
  45. data/vendor/assets/javascripts/webshims/shims/jpicker/images/NoColor.png +0 -0
  46. data/vendor/assets/javascripts/webshims/shims/jpicker/images/bar-opacity.png +0 -0
  47. data/vendor/assets/javascripts/webshims/shims/jpicker/images/map-opacity.png +0 -0
  48. data/vendor/assets/javascripts/webshims/shims/jpicker/images/preview-opacity.png +0 -0
  49. data/vendor/assets/javascripts/webshims/shims/mediacapture.js +9 -3
  50. data/vendor/assets/javascripts/webshims/shims/mediaelement-jaris.js +25 -0
  51. data/vendor/assets/javascripts/webshims/shims/picture.js +387 -527
  52. data/vendor/assets/javascripts/webshims/shims/styles/color-picker.png +0 -0
  53. data/vendor/assets/javascripts/webshims/shims/styles/forms-ext.css +12 -4
  54. data/vendor/assets/javascripts/webshims/shims/styles/forms-picker.css +5 -5
  55. data/vendor/assets/javascripts/webshims/shims/styles/progress.png +0 -0
  56. data/vendor/assets/javascripts/webshims/shims/styles/scss/forms-ext.scss +37 -1
  57. data/vendor/assets/javascripts/webshims/shims/styles/scss/shim.scss +7 -5
  58. data/vendor/assets/javascripts/webshims/shims/styles/shim-ext.css +22 -11
  59. data/vendor/assets/javascripts/webshims/shims/styles/shim.css +10 -7
  60. data/vendor/assets/javascripts/webshims/shims/styles/transparent.png +0 -0
  61. data/vendor/assets/javascripts/webshims/shims/styles/widget-font.zip +0 -0
  62. data/vendor/assets/javascripts/webshims/shims/styles/widget.eot +0 -0
  63. data/vendor/assets/javascripts/webshims/shims/styles/widget.svg +6 -2
  64. data/vendor/assets/javascripts/webshims/shims/styles/widget.ttf +0 -0
  65. data/vendor/assets/javascripts/webshims/shims/styles/widget.woff +0 -0
  66. data/vendor/assets/javascripts/webshims/shims/track.js +14 -2
  67. data/vendor/assets/javascripts/webshims/shims/url.js +18 -7
  68. metadata +9 -7
@@ -325,20 +325,25 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
325
325
  };
326
326
 
327
327
  //jquery mobile and jquery ui
328
- if(!$.widget){
328
+ if(!$.widget && (!$.pluginFactory || !$.pluginFactory.mixin)){
329
329
  (function(){
330
330
  var _cleanData = $.cleanData;
331
- $.cleanData = function( elems ) {
332
- if(!$.widget){
333
- for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) {
331
+ $.cleanData = (function( orig ) {
332
+ return function( elems ) {
333
+ var events, elem, i;
334
+ for ( i = 0; (elem = elems[i]) != null; i++ ) {
334
335
  try {
335
- $( elem ).triggerHandler( "remove" );
336
- // http://bugs.jquery.com/ticket/8235
337
- } catch( e ) {}
336
+ // Only trigger remove when necessary to save time
337
+ events = $._data( elem, "events" );
338
+ if ( events && events.remove ) {
339
+ $( elem ).triggerHandler( "remove" );
340
+ }
341
+ // http://bugs.jquery.com/ticket/8235
342
+ } catch ( e ) {}
338
343
  }
339
- }
340
- _cleanData( elems );
341
- };
344
+ orig( elems );
345
+ };
346
+ })( $.cleanData );
342
347
  })();
343
348
  }
344
349
 
@@ -759,7 +764,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
759
764
  return id;
760
765
  };
761
766
  })(),
762
- domPrefixes: ["ws", "webkit", "moz", "ms", "o"],
767
+ domPrefixes: ["webkit", "moz", "ms", "o", "ws"],
763
768
 
764
769
  prefixed: function (prop, obj){
765
770
  var i, testProp;
@@ -1710,6 +1715,8 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
1710
1715
  }
1711
1716
  return message || '';
1712
1717
  };
1718
+
1719
+ webshims.refreshCustomValidityRules = $.noop;
1713
1720
 
1714
1721
  $.fn.getErrorMessage = function(key){
1715
1722
  var message = '';
@@ -1463,6 +1463,25 @@
1463
1463
  VIDEO: 1
1464
1464
  };
1465
1465
  var tested = {};
1466
+ var addToBlob = function(){
1467
+ var desc = webshim.defineNodeNameProperty('canvas', 'toBlob', {
1468
+ prop: {
1469
+ value: function(){
1470
+ var context = $(this).callProp('getContext', ['2d']);
1471
+ var that = this;
1472
+ var args = arguments;
1473
+ var cb = function(){
1474
+ return desc.prop._supvalue.apply(that, args);
1475
+ };
1476
+ if(context.wsImageComplete && context._wsIsLoading){
1477
+ context.wsImageComplete(cb);
1478
+ } else {
1479
+ return cb();
1480
+ }
1481
+ }
1482
+ }
1483
+ });
1484
+ };
1466
1485
 
1467
1486
  if(!_drawImage){
1468
1487
  webshim.error('canvas.drawImage feature is needed. In IE8 flashvanvas pro can be used');
@@ -1537,6 +1556,12 @@
1537
1556
  }
1538
1557
  return _drawImage.apply(this, arguments);
1539
1558
  };
1559
+
1560
+ if(!document.createElement('canvas').toBlob){
1561
+ webshims.ready('filereader', addToBlob);
1562
+ } else {
1563
+ addToBlob();
1564
+ }
1540
1565
  return true;
1541
1566
  };
1542
1567
 
@@ -1810,10 +1835,11 @@
1810
1835
  var copyName = {srclang: 'language'};
1811
1836
 
1812
1837
  var updateMediaTrackList = function(baseData, trackList){
1838
+ var i, len;
1839
+ var callChange = false;
1813
1840
  var removed = [];
1814
1841
  var added = [];
1815
1842
  var newTracks = [];
1816
- var i, len;
1817
1843
  if(!baseData){
1818
1844
  baseData = webshims.data(this, 'mediaelementBase') || webshims.data(this, 'mediaelementBase', {});
1819
1845
  }
@@ -1848,12 +1874,13 @@
1848
1874
  removed.push(trackList[i]);
1849
1875
  }
1850
1876
  }
1851
-
1877
+
1852
1878
  if(removed.length || added.length){
1853
1879
  trackList.splice(0);
1854
1880
 
1855
1881
  for(i = 0, len = newTracks.length; i < len; i++){
1856
1882
  trackList.push(newTracks[i]);
1883
+
1857
1884
  }
1858
1885
  for(i = 0, len = removed.length; i < len; i++){
1859
1886
  $([trackList]).triggerHandler($.Event({type: 'removetrack', track: removed[i]}));
@@ -1866,6 +1893,16 @@
1866
1893
  $(this).triggerHandler('updatetrackdisplay');
1867
1894
  }
1868
1895
  }
1896
+
1897
+ for(i = 0, len = trackList.length; i < len; i++){
1898
+ if(trackList[i].__wsmode != trackList[i].mode){
1899
+ trackList[i].__wsmode = trackList[i].mode;
1900
+ callChange = true;
1901
+ }
1902
+ }
1903
+ if(callChange){
1904
+ $([trackList]).triggerHandler('change');
1905
+ }
1869
1906
  };
1870
1907
 
1871
1908
  var refreshTrack = function(track, trackData){
@@ -260,10 +260,11 @@ webshims.register('details', function($, webshims, window, doc, undefined, optio
260
260
  var copyName = {srclang: 'language'};
261
261
 
262
262
  var updateMediaTrackList = function(baseData, trackList){
263
+ var i, len;
264
+ var callChange = false;
263
265
  var removed = [];
264
266
  var added = [];
265
267
  var newTracks = [];
266
- var i, len;
267
268
  if(!baseData){
268
269
  baseData = webshims.data(this, 'mediaelementBase') || webshims.data(this, 'mediaelementBase', {});
269
270
  }
@@ -298,12 +299,13 @@ webshims.register('details', function($, webshims, window, doc, undefined, optio
298
299
  removed.push(trackList[i]);
299
300
  }
300
301
  }
301
-
302
+
302
303
  if(removed.length || added.length){
303
304
  trackList.splice(0);
304
305
 
305
306
  for(i = 0, len = newTracks.length; i < len; i++){
306
307
  trackList.push(newTracks[i]);
308
+
307
309
  }
308
310
  for(i = 0, len = removed.length; i < len; i++){
309
311
  $([trackList]).triggerHandler($.Event({type: 'removetrack', track: removed[i]}));
@@ -316,6 +318,16 @@ webshims.register('details', function($, webshims, window, doc, undefined, optio
316
318
  $(this).triggerHandler('updatetrackdisplay');
317
319
  }
318
320
  }
321
+
322
+ for(i = 0, len = trackList.length; i < len; i++){
323
+ if(trackList[i].__wsmode != trackList[i].mode){
324
+ trackList[i].__wsmode = trackList[i].mode;
325
+ callChange = true;
326
+ }
327
+ }
328
+ if(callChange){
329
+ $([trackList]).triggerHandler('change');
330
+ }
319
331
  };
320
332
 
321
333
  var refreshTrack = function(track, trackData){
@@ -102,20 +102,25 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
102
102
  };
103
103
 
104
104
  //jquery mobile and jquery ui
105
- if(!$.widget){
105
+ if(!$.widget && (!$.pluginFactory || !$.pluginFactory.mixin)){
106
106
  (function(){
107
107
  var _cleanData = $.cleanData;
108
- $.cleanData = function( elems ) {
109
- if(!$.widget){
110
- for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) {
108
+ $.cleanData = (function( orig ) {
109
+ return function( elems ) {
110
+ var events, elem, i;
111
+ for ( i = 0; (elem = elems[i]) != null; i++ ) {
111
112
  try {
112
- $( elem ).triggerHandler( "remove" );
113
- // http://bugs.jquery.com/ticket/8235
114
- } catch( e ) {}
113
+ // Only trigger remove when necessary to save time
114
+ events = $._data( elem, "events" );
115
+ if ( events && events.remove ) {
116
+ $( elem ).triggerHandler( "remove" );
117
+ }
118
+ // http://bugs.jquery.com/ticket/8235
119
+ } catch ( e ) {}
115
120
  }
116
- }
117
- _cleanData( elems );
118
- };
121
+ orig( elems );
122
+ };
123
+ })( $.cleanData );
119
124
  })();
120
125
  }
121
126
 
@@ -536,7 +541,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
536
541
  return id;
537
542
  };
538
543
  })(),
539
- domPrefixes: ["ws", "webkit", "moz", "ms", "o"],
544
+ domPrefixes: ["webkit", "moz", "ms", "o", "ws"],
540
545
 
541
546
  prefixed: function (prop, obj){
542
547
  var i, testProp;
@@ -1611,22 +1616,19 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
1611
1616
  qualitiy = 0.8;
1612
1617
  }
1613
1618
  loadMoxie();
1614
- setTimeout(function(){
1619
+ webshim.ready('moxie', function(){
1620
+ var img = new mOxie.Image();
1615
1621
  dataURL = $canvas.callProp('getAsDataURL', [type, qualitiy]);
1616
- webshim.ready('moxie', function(){
1617
- var img = new mOxie.Image();
1618
-
1619
- img.onload = function() {
1620
- var blob = img.getAsBlob();
1621
- webshim.defineProperty(blob, '_wsDataURL', {
1622
- value: dataURL,
1623
- enumerable: false
1624
- });
1625
- cb(blob);
1626
- };
1627
- img.load(dataURL);
1628
- });
1629
- }, 9);
1622
+ img.onload = function() {
1623
+ var blob = img.getAsBlob();
1624
+ webshim.defineProperty(blob, '_wsDataURL', {
1625
+ value: dataURL,
1626
+ enumerable: false
1627
+ });
1628
+ cb(blob);
1629
+ };
1630
+ img.load(dataURL);
1631
+ });
1630
1632
  }
1631
1633
  }
1632
1634
  });
@@ -2896,6 +2898,25 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
2896
2898
  VIDEO: 1
2897
2899
  };
2898
2900
  var tested = {};
2901
+ var addToBlob = function(){
2902
+ var desc = webshim.defineNodeNameProperty('canvas', 'toBlob', {
2903
+ prop: {
2904
+ value: function(){
2905
+ var context = $(this).callProp('getContext', ['2d']);
2906
+ var that = this;
2907
+ var args = arguments;
2908
+ var cb = function(){
2909
+ return desc.prop._supvalue.apply(that, args);
2910
+ };
2911
+ if(context.wsImageComplete && context._wsIsLoading){
2912
+ context.wsImageComplete(cb);
2913
+ } else {
2914
+ return cb();
2915
+ }
2916
+ }
2917
+ }
2918
+ });
2919
+ };
2899
2920
 
2900
2921
  if(!_drawImage){
2901
2922
  webshim.error('canvas.drawImage feature is needed. In IE8 flashvanvas pro can be used');
@@ -2970,6 +2991,12 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
2970
2991
  }
2971
2992
  return _drawImage.apply(this, arguments);
2972
2993
  };
2994
+
2995
+ if(!document.createElement('canvas').toBlob){
2996
+ webshims.ready('filereader', addToBlob);
2997
+ } else {
2998
+ addToBlob();
2999
+ }
2973
3000
  return true;
2974
3001
  };
2975
3002
 
@@ -1632,22 +1632,19 @@ webshims.register('form-shim-extend2', function($, webshims, window, document, u
1632
1632
  qualitiy = 0.8;
1633
1633
  }
1634
1634
  loadMoxie();
1635
- setTimeout(function(){
1635
+ webshim.ready('moxie', function(){
1636
+ var img = new mOxie.Image();
1636
1637
  dataURL = $canvas.callProp('getAsDataURL', [type, qualitiy]);
1637
- webshim.ready('moxie', function(){
1638
- var img = new mOxie.Image();
1639
-
1640
- img.onload = function() {
1641
- var blob = img.getAsBlob();
1642
- webshim.defineProperty(blob, '_wsDataURL', {
1643
- value: dataURL,
1644
- enumerable: false
1645
- });
1646
- cb(blob);
1647
- };
1648
- img.load(dataURL);
1649
- });
1650
- }, 9);
1638
+ img.onload = function() {
1639
+ var blob = img.getAsBlob();
1640
+ webshim.defineProperty(blob, '_wsDataURL', {
1641
+ value: dataURL,
1642
+ enumerable: false
1643
+ });
1644
+ cb(blob);
1645
+ };
1646
+ img.load(dataURL);
1647
+ });
1651
1648
  }
1652
1649
  }
1653
1650
  });
@@ -607,22 +607,25 @@ if(webshims.support.inputtypes.date && /webkit/i.test(navigator.userAgent)){
607
607
 
608
608
  webshims.addReady(function(context, contextElem){
609
609
  //start constrain-validation
610
- var focusElem;
610
+
611
611
  $('form', context)
612
612
  .add(contextElem.filter('form'))
613
613
  .on('invalid', $.noop)
614
614
  ;
615
-
616
- try {
617
- if(context == document && !('form' in (document.activeElement || {}))) {
618
- focusElem = $(context.querySelector('input[autofocus], select[autofocus], textarea[autofocus]')).eq(0).getShadowFocusElement()[0];
619
- if (focusElem && focusElem.offsetHeight && focusElem.offsetWidth) {
620
- focusElem.focus();
615
+
616
+ setTimeout(function(){
617
+ var focusElem;
618
+ try {
619
+ if(!('form' in (document.activeElement || {}))) {
620
+ focusElem = $(context.querySelector('input[autofocus], select[autofocus], textarea[autofocus]')).eq(0).getShadowFocusElement()[0];
621
+ if (focusElem && (focusElem.offsetHeight || focusElem.offsetWidth)) {
622
+ focusElem.focus();
623
+ }
621
624
  }
622
625
  }
623
- }
624
- catch (er) {}
625
-
626
+ catch (er) {}
627
+ }, 9);
628
+
626
629
  });
627
630
 
628
631
  if(!webshims.support.datalist){
@@ -102,20 +102,25 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
102
102
  };
103
103
 
104
104
  //jquery mobile and jquery ui
105
- if(!$.widget){
105
+ if(!$.widget && (!$.pluginFactory || !$.pluginFactory.mixin)){
106
106
  (function(){
107
107
  var _cleanData = $.cleanData;
108
- $.cleanData = function( elems ) {
109
- if(!$.widget){
110
- for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) {
108
+ $.cleanData = (function( orig ) {
109
+ return function( elems ) {
110
+ var events, elem, i;
111
+ for ( i = 0; (elem = elems[i]) != null; i++ ) {
111
112
  try {
112
- $( elem ).triggerHandler( "remove" );
113
- // http://bugs.jquery.com/ticket/8235
114
- } catch( e ) {}
113
+ // Only trigger remove when necessary to save time
114
+ events = $._data( elem, "events" );
115
+ if ( events && events.remove ) {
116
+ $( elem ).triggerHandler( "remove" );
117
+ }
118
+ // http://bugs.jquery.com/ticket/8235
119
+ } catch ( e ) {}
115
120
  }
116
- }
117
- _cleanData( elems );
118
- };
121
+ orig( elems );
122
+ };
123
+ })( $.cleanData );
119
124
  })();
120
125
  }
121
126
 
@@ -536,7 +541,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
536
541
  return id;
537
542
  };
538
543
  })(),
539
- domPrefixes: ["ws", "webkit", "moz", "ms", "o"],
544
+ domPrefixes: ["webkit", "moz", "ms", "o", "ws"],
540
545
 
541
546
  prefixed: function (prop, obj){
542
547
  var i, testProp;
@@ -1487,6 +1492,8 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
1487
1492
  }
1488
1493
  return message || '';
1489
1494
  };
1495
+
1496
+ webshims.refreshCustomValidityRules = $.noop;
1490
1497
 
1491
1498
  $.fn.getErrorMessage = function(key){
1492
1499
  var message = '';
@@ -102,20 +102,25 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
102
102
  };
103
103
 
104
104
  //jquery mobile and jquery ui
105
- if(!$.widget){
105
+ if(!$.widget && (!$.pluginFactory || !$.pluginFactory.mixin)){
106
106
  (function(){
107
107
  var _cleanData = $.cleanData;
108
- $.cleanData = function( elems ) {
109
- if(!$.widget){
110
- for ( var i = 0, elem; (elem = elems[i]) != null; i++ ) {
108
+ $.cleanData = (function( orig ) {
109
+ return function( elems ) {
110
+ var events, elem, i;
111
+ for ( i = 0; (elem = elems[i]) != null; i++ ) {
111
112
  try {
112
- $( elem ).triggerHandler( "remove" );
113
- // http://bugs.jquery.com/ticket/8235
114
- } catch( e ) {}
113
+ // Only trigger remove when necessary to save time
114
+ events = $._data( elem, "events" );
115
+ if ( events && events.remove ) {
116
+ $( elem ).triggerHandler( "remove" );
117
+ }
118
+ // http://bugs.jquery.com/ticket/8235
119
+ } catch ( e ) {}
115
120
  }
116
- }
117
- _cleanData( elems );
118
- };
121
+ orig( elems );
122
+ };
123
+ })( $.cleanData );
119
124
  })();
120
125
  }
121
126
 
@@ -536,7 +541,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
536
541
  return id;
537
542
  };
538
543
  })(),
539
- domPrefixes: ["ws", "webkit", "moz", "ms", "o"],
544
+ domPrefixes: ["webkit", "moz", "ms", "o", "ws"],
540
545
 
541
546
  prefixed: function (prop, obj){
542
547
  var i, testProp;
@@ -1487,6 +1492,8 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
1487
1492
  }
1488
1493
  return message || '';
1489
1494
  };
1495
+
1496
+ webshims.refreshCustomValidityRules = $.noop;
1490
1497
 
1491
1498
  $.fn.getErrorMessage = function(key){
1492
1499
  var message = '';