webshims-rails 1.11.6.1 → 1.12.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (74) hide show
  1. checksums.yaml +4 -4
  2. data/lib/webshims-rails/version.rb +2 -2
  3. data/vendor/assets/javascripts/webshims/polyfiller.js +126 -72
  4. data/vendor/assets/javascripts/webshims/shims/FlashCanvas/canvas2png.js +9 -4
  5. data/vendor/assets/javascripts/webshims/shims/FlashCanvas/flashcanvas.js +32 -26
  6. data/vendor/assets/javascripts/webshims/shims/FlashCanvas/flashcanvas.swf +0 -0
  7. data/vendor/assets/javascripts/webshims/shims/FlashCanvas/proxy.php +25 -4
  8. data/vendor/assets/javascripts/webshims/shims/FlashCanvas/save.php +9 -3
  9. data/vendor/assets/javascripts/webshims/shims/FlashCanvasPro/canvas2png.js +9 -4
  10. data/vendor/assets/javascripts/webshims/shims/FlashCanvasPro/flash10canvas.swf +0 -0
  11. data/vendor/assets/javascripts/webshims/shims/FlashCanvasPro/flash9canvas.swf +0 -0
  12. data/vendor/assets/javascripts/webshims/shims/FlashCanvasPro/flashcanvas.js +36 -30
  13. data/vendor/assets/javascripts/webshims/shims/FlashCanvasPro/proxy.php +25 -4
  14. data/vendor/assets/javascripts/webshims/shims/FlashCanvasPro/save.php +9 -3
  15. data/vendor/assets/javascripts/webshims/shims/combos/1.js +13 -6
  16. data/vendor/assets/javascripts/webshims/shims/combos/10.js +156 -143
  17. data/vendor/assets/javascripts/webshims/shims/combos/11.js +97 -84
  18. data/vendor/assets/javascripts/webshims/shims/combos/12.js +2 -4
  19. data/vendor/assets/javascripts/webshims/shims/combos/13.js +1 -2
  20. data/vendor/assets/javascripts/webshims/shims/combos/14.js +956 -2819
  21. data/vendor/assets/javascripts/webshims/shims/combos/15.js +73 -67
  22. data/vendor/assets/javascripts/webshims/shims/combos/16.js +75 -71
  23. data/vendor/assets/javascripts/webshims/shims/combos/17.js +118 -89
  24. data/vendor/assets/javascripts/webshims/shims/combos/18.js +119 -91
  25. data/vendor/assets/javascripts/webshims/shims/combos/19.js +62 -65
  26. data/vendor/assets/javascripts/webshims/shims/combos/2.js +73 -67
  27. data/vendor/assets/javascripts/webshims/shims/combos/20.js +61 -63
  28. data/vendor/assets/javascripts/webshims/shims/combos/21.js +3 -6
  29. data/vendor/assets/javascripts/webshims/shims/combos/22.js +1 -2
  30. data/vendor/assets/javascripts/webshims/shims/combos/23.js +1 -2
  31. data/vendor/assets/javascripts/webshims/shims/combos/24.js +22 -12
  32. data/vendor/assets/javascripts/webshims/shims/combos/25.js +63 -67
  33. data/vendor/assets/javascripts/webshims/shims/combos/26.js +59 -59
  34. data/vendor/assets/javascripts/webshims/shims/combos/27.js +1 -2
  35. data/vendor/assets/javascripts/webshims/shims/combos/28.js +1915 -0
  36. data/vendor/assets/javascripts/webshims/shims/combos/29.js +817 -0
  37. data/vendor/assets/javascripts/webshims/shims/combos/3.js +71 -63
  38. data/vendor/assets/javascripts/webshims/shims/combos/30.js +72 -65
  39. data/vendor/assets/javascripts/webshims/shims/combos/31.js +71 -63
  40. data/vendor/assets/javascripts/webshims/shims/combos/32.js +2343 -0
  41. data/vendor/assets/javascripts/webshims/shims/combos/33.js +897 -0
  42. data/vendor/assets/javascripts/webshims/shims/combos/4.js +59 -59
  43. data/vendor/assets/javascripts/webshims/shims/combos/5.js +119 -91
  44. data/vendor/assets/javascripts/webshims/shims/combos/6.js +120 -93
  45. data/vendor/assets/javascripts/webshims/shims/combos/7.js +74 -69
  46. data/vendor/assets/javascripts/webshims/shims/combos/8.js +73 -67
  47. data/vendor/assets/javascripts/webshims/shims/combos/9.js +157 -145
  48. data/vendor/assets/javascripts/webshims/shims/dom-extend.js +58 -57
  49. data/vendor/assets/javascripts/webshims/shims/form-combat.js +0 -1
  50. data/vendor/assets/javascripts/webshims/shims/form-core.js +12 -3
  51. data/vendor/assets/javascripts/webshims/shims/form-datalist-lazy.js +4 -3
  52. data/vendor/assets/javascripts/webshims/shims/form-number-date-api.js +20 -3
  53. data/vendor/assets/javascripts/webshims/shims/form-number-date-ui.js +78 -71
  54. data/vendor/assets/javascripts/webshims/shims/form-shim-extend2.js +21 -10
  55. data/vendor/assets/javascripts/webshims/shims/form-validation.js +39 -27
  56. data/vendor/assets/javascripts/webshims/shims/forms-picker.js +173 -128
  57. data/vendor/assets/javascripts/webshims/shims/i18n/{formcfg-ch-ZN.js → formcfg-ch-CN.js} +0 -0
  58. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-en.js +0 -2
  59. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-zh-CN.js +65 -0
  60. data/vendor/assets/javascripts/webshims/shims/plugins/jquery.ui.position.js +1 -1
  61. data/vendor/assets/javascripts/webshims/shims/range-ui.js +18 -11
  62. data/vendor/assets/javascripts/webshims/shims/styles/forms-ext.css +221 -153
  63. data/vendor/assets/javascripts/webshims/shims/styles/progress.gif +0 -0
  64. data/vendor/assets/javascripts/webshims/shims/styles/progress.png +0 -0
  65. data/vendor/assets/javascripts/webshims/shims/styles/scss/_extends.scss +5 -0
  66. data/vendor/assets/javascripts/webshims/shims/styles/scss/forms-ext.scss +273 -177
  67. data/vendor/assets/javascripts/webshims/shims/styles/scss/shim.scss +113 -98
  68. data/vendor/assets/javascripts/webshims/shims/styles/shim.css +114 -88
  69. data/vendor/assets/javascripts/webshims/shims/track-ui.js +2 -2
  70. metadata +10 -7
  71. data/vendor/assets/javascripts/webshims/extras/mousepress.js +0 -60
  72. data/vendor/assets/javascripts/webshims/shims/jpicker/images/Thumbs.db +0 -0
  73. data/vendor/assets/javascripts/webshims/shims/json-storage.js +0 -316
  74. data/vendor/assets/javascripts/webshims/shims/mediagroup.js +0 -29
@@ -449,8 +449,7 @@ var swfmini = function() {
449
449
  }
450
450
  };
451
451
  }();
452
-
453
- // Copyright 2009-2012 by contributors, MIT License
452
+ ;// Copyright 2009-2012 by contributors, MIT License
454
453
  // vim: ts=4 sts=4 sw=4 expandtab
455
454
 
456
455
  (function () {
@@ -1896,8 +1895,7 @@ if((!advancedObjectProperties || !Object.create || !Object.defineProperties || !
1896
1895
  })(webshims.$, webshims);
1897
1896
 
1898
1897
 
1899
-
1900
- //DOM-Extension helper
1898
+ ;//DOM-Extension helper
1901
1899
  webshims.register('dom-extend', function($, webshims, window, document, undefined){
1902
1900
  "use strict";
1903
1901
  var supportHrefNormalized = !('hrefNormalized' in $.support) || $.support.hrefNormalized;
@@ -1939,34 +1937,6 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
1939
1937
  webshims.ready('WINDOWLOAD', switch$);
1940
1938
 
1941
1939
  }
1942
- // (function(){
1943
- // var hostNames = {
1944
- // 'afarkas.github.io': 1,
1945
- // localhost: 1,
1946
- // '127.0.0.1': 1
1947
- // };
1948
- //
1949
- // if( webshims.cfg.debug && (hostNames[location.hostname] || location.protocol == 'file:') ){
1950
- // var list = $('<ul class="webshims-debug-list" />');
1951
- // webshims.errorLog.push = function(message){
1952
- // list.appendTo('body');
1953
- // $('<li style="display: none;">'+ message +'</li>')
1954
- // .appendTo(list)
1955
- // .slideDown()
1956
- // .delay(3000)
1957
- // .slideUp(function(){
1958
- // $(this).remove();
1959
- // if(!$('li', list).length){
1960
- // list.detach();
1961
- // }
1962
- // })
1963
- // ;
1964
- // };
1965
- // $.each(webshims.errorLog, function(i, message){
1966
- // webshims.errorLog.push(message);
1967
- // });
1968
- // }
1969
- // })();
1970
1940
 
1971
1941
  //shortcus
1972
1942
  var modules = webshims.modules;
@@ -2408,11 +2378,22 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
2408
2378
  });
2409
2379
  },
2410
2380
  getOptions: (function(){
2381
+ var normalName = /\-([a-z])/g;
2411
2382
  var regs = {};
2383
+ var nameRegs = {};
2412
2384
  var regFn = function(f, upper){
2413
2385
  return upper.toLowerCase();
2414
2386
  };
2415
- return function(elem, name, bases){
2387
+ var nameFn = function(f, dashed){
2388
+ return dashed.toUpperCase();
2389
+ };
2390
+ return function(elem, name, bases, stringAllowed){
2391
+ if(nameRegs[name]){
2392
+ name = nameRegs[name];
2393
+ } else {
2394
+ nameRegs[name] = name.replace(normalName, nameFn);
2395
+ name = nameRegs[name];
2396
+ }
2416
2397
  var data = elementData(elem, 'cfg'+name);
2417
2398
  var dataName;
2418
2399
  var cfg = {};
@@ -2421,7 +2402,12 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
2421
2402
  return data;
2422
2403
  }
2423
2404
  data = $(elem).data();
2424
-
2405
+ if(data && typeof data[name] == 'string'){
2406
+ if(stringAllowed){
2407
+ return elementData(elem, 'cfg'+name, data[name]);
2408
+ }
2409
+ webshims.error('data-'+ name +' attribute has to be a valid JSON, was: '+ data[name]);
2410
+ }
2425
2411
  if(!bases){
2426
2412
  bases = [true, {}];
2427
2413
  } else if(!Array.isArray(bases)){
@@ -2430,12 +2416,8 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
2430
2416
  bases.unshift(true, {});
2431
2417
  }
2432
2418
 
2433
- if(data && data[name]){
2434
- if(typeof data[name] == 'object'){
2435
- bases.push(data[name]);
2436
- } else {
2437
- webshims.error('data-'+ name +' attribute has to be a valid JSON, was: '+ data[name]);
2438
- }
2419
+ if(data && typeof data[name] == 'object'){
2420
+ bases.push(data[name]);
2439
2421
  }
2440
2422
 
2441
2423
  if(!regs[name]){
@@ -2448,7 +2430,6 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
2448
2430
  }
2449
2431
  }
2450
2432
  bases.push(cfg);
2451
-
2452
2433
  return elementData(elem, 'cfg'+name, $.extend.apply($, bases));
2453
2434
  };
2454
2435
  })(),
@@ -2478,7 +2459,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
2478
2459
  var resizeTimer;
2479
2460
  var lastHeight;
2480
2461
  var lastWidth;
2481
-
2462
+ var $window = $(window);
2482
2463
  var docObserve = {
2483
2464
  init: false,
2484
2465
  runs: 0,
@@ -2498,25 +2479,36 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
2498
2479
  docObserve.runs = 0;
2499
2480
  }
2500
2481
  },
2501
- handler: function(e){
2502
- clearTimeout(resizeTimer);
2503
- resizeTimer = setTimeout(function(){
2504
- if(e.type == 'resize'){
2505
- var width = $(window).width();
2506
- var height = $(window).width();
2507
- if(height == lastHeight && width == lastWidth){
2508
- return;
2482
+ handler: (function(){
2483
+ var trigger = function(){
2484
+ $(document).triggerHandler('updateshadowdom');
2485
+ };
2486
+ return function(e){
2487
+ clearTimeout(resizeTimer);
2488
+ resizeTimer = setTimeout(function(){
2489
+ if(e.type == 'resize'){
2490
+ var width = $window.width();
2491
+ var height = $window.width();
2492
+
2493
+ if(height == lastHeight && width == lastWidth){
2494
+ return;
2495
+ }
2496
+ lastHeight = height;
2497
+ lastWidth = width;
2498
+
2499
+ docObserve.height = docObserve.getHeight();
2500
+ docObserve.width = docObserve.getWidth();
2501
+ }
2502
+
2503
+ if(window.requestAnimationFrame){
2504
+ requestAnimationFrame(trigger);
2505
+ } else {
2506
+ setTimeout(trigger, 0);
2509
2507
  }
2510
- lastHeight = height;
2511
- lastWidth = width;
2512
-
2513
- docObserve.height = docObserve.getHeight();
2514
- docObserve.width = docObserve.getWidth();
2515
2508
 
2516
- }
2517
- $(document).triggerHandler('updateshadowdom');
2518
- }, (e.type == 'resize') ? 50 : 9);
2519
- },
2509
+ }, (e.type == 'resize' && !window.requestAnimationFrame) ? 50 : 0);
2510
+ };
2511
+ })(),
2520
2512
  _create: function(){
2521
2513
  $.each({ Height: "getHeight", Width: "getWidth" }, function(name, type){
2522
2514
  var body = document.body;
@@ -2854,13 +2846,17 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
2854
2846
  webshims.defineNodeNamesProperty(elementNames, prop, {
2855
2847
  attr: {
2856
2848
  set: function(val){
2857
- this.setAttribute(prop, val);
2849
+ if(descs.useContentAttribute){
2850
+ webshims.contentAttr(this, prop, val);
2851
+ } else {
2852
+ this.setAttribute(prop, val);
2853
+ }
2858
2854
  if(descs.set){
2859
2855
  descs.set.call(this, true);
2860
2856
  }
2861
2857
  },
2862
2858
  get: function(){
2863
- var ret = this.getAttribute(prop);
2859
+ var ret = (descs.useContentAttribute) ? webshims.contentAttr(this, prop) : this.getAttribute(prop);
2864
2860
  return (ret == null) ? undefined : prop;
2865
2861
  }
2866
2862
  },
@@ -2917,6 +2913,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
2917
2913
  });
2918
2914
  }
2919
2915
  };
2916
+
2920
2917
  var select = function(obj){
2921
2918
  var oldLang = obj.__active;
2922
2919
  var selectLang = function(i, lang){
@@ -2924,6 +2921,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
2924
2921
  if(obj[lang] || obj.availableLangs.indexOf(lang) != -1){
2925
2922
  if(obj[lang]){
2926
2923
  obj.__active = obj[lang];
2924
+ obj.__activeName = lang;
2927
2925
  } else {
2928
2926
  load(obj.langSrc+lang, obj, curLang.join());
2929
2927
  }
@@ -2933,6 +2931,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
2933
2931
  $.each(curLang, selectLang);
2934
2932
  if(!obj.__active){
2935
2933
  obj.__active = obj[''];
2934
+ obj.__activeName = '';
2936
2935
  }
2937
2936
  if(oldLang != obj.__active){
2938
2937
  $(obj).trigger('change');
@@ -3037,8 +3036,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
3037
3036
  }
3038
3037
  });
3039
3038
 
3040
- })(webshims.$, document);
3041
- (function(Modernizr, webshims){
3039
+ })(webshims.$, document);;(function(Modernizr, webshims){
3042
3040
  "use strict";
3043
3041
  var $ = webshims.$;
3044
3042
  var hasNative = Modernizr.audio && Modernizr.video;
@@ -3731,8 +3729,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
3731
3729
  }
3732
3730
  webshims.ready('track', loadTrackUi);
3733
3731
  });
3734
- })(Modernizr, webshims);
3735
- webshims.register('mediaelement-jaris', function($, webshims, window, document, undefined, options){
3732
+ })(Modernizr, webshims);;webshims.register('mediaelement-jaris', function($, webshims, window, document, undefined, options){
3736
3733
  "use strict";
3737
3734
 
3738
3735
  var mediaelement = webshims.mediaelement;
@@ -449,8 +449,7 @@ var swfmini = function() {
449
449
  }
450
450
  };
451
451
  }();
452
-
453
- //DOM-Extension helper
452
+ ;//DOM-Extension helper
454
453
  webshims.register('dom-extend', function($, webshims, window, document, undefined){
455
454
  "use strict";
456
455
  var supportHrefNormalized = !('hrefNormalized' in $.support) || $.support.hrefNormalized;
@@ -492,34 +491,6 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
492
491
  webshims.ready('WINDOWLOAD', switch$);
493
492
 
494
493
  }
495
- // (function(){
496
- // var hostNames = {
497
- // 'afarkas.github.io': 1,
498
- // localhost: 1,
499
- // '127.0.0.1': 1
500
- // };
501
- //
502
- // if( webshims.cfg.debug && (hostNames[location.hostname] || location.protocol == 'file:') ){
503
- // var list = $('<ul class="webshims-debug-list" />');
504
- // webshims.errorLog.push = function(message){
505
- // list.appendTo('body');
506
- // $('<li style="display: none;">'+ message +'</li>')
507
- // .appendTo(list)
508
- // .slideDown()
509
- // .delay(3000)
510
- // .slideUp(function(){
511
- // $(this).remove();
512
- // if(!$('li', list).length){
513
- // list.detach();
514
- // }
515
- // })
516
- // ;
517
- // };
518
- // $.each(webshims.errorLog, function(i, message){
519
- // webshims.errorLog.push(message);
520
- // });
521
- // }
522
- // })();
523
494
 
524
495
  //shortcus
525
496
  var modules = webshims.modules;
@@ -961,11 +932,22 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
961
932
  });
962
933
  },
963
934
  getOptions: (function(){
935
+ var normalName = /\-([a-z])/g;
964
936
  var regs = {};
937
+ var nameRegs = {};
965
938
  var regFn = function(f, upper){
966
939
  return upper.toLowerCase();
967
940
  };
968
- return function(elem, name, bases){
941
+ var nameFn = function(f, dashed){
942
+ return dashed.toUpperCase();
943
+ };
944
+ return function(elem, name, bases, stringAllowed){
945
+ if(nameRegs[name]){
946
+ name = nameRegs[name];
947
+ } else {
948
+ nameRegs[name] = name.replace(normalName, nameFn);
949
+ name = nameRegs[name];
950
+ }
969
951
  var data = elementData(elem, 'cfg'+name);
970
952
  var dataName;
971
953
  var cfg = {};
@@ -974,7 +956,12 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
974
956
  return data;
975
957
  }
976
958
  data = $(elem).data();
977
-
959
+ if(data && typeof data[name] == 'string'){
960
+ if(stringAllowed){
961
+ return elementData(elem, 'cfg'+name, data[name]);
962
+ }
963
+ webshims.error('data-'+ name +' attribute has to be a valid JSON, was: '+ data[name]);
964
+ }
978
965
  if(!bases){
979
966
  bases = [true, {}];
980
967
  } else if(!Array.isArray(bases)){
@@ -983,12 +970,8 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
983
970
  bases.unshift(true, {});
984
971
  }
985
972
 
986
- if(data && data[name]){
987
- if(typeof data[name] == 'object'){
988
- bases.push(data[name]);
989
- } else {
990
- webshims.error('data-'+ name +' attribute has to be a valid JSON, was: '+ data[name]);
991
- }
973
+ if(data && typeof data[name] == 'object'){
974
+ bases.push(data[name]);
992
975
  }
993
976
 
994
977
  if(!regs[name]){
@@ -1001,7 +984,6 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
1001
984
  }
1002
985
  }
1003
986
  bases.push(cfg);
1004
-
1005
987
  return elementData(elem, 'cfg'+name, $.extend.apply($, bases));
1006
988
  };
1007
989
  })(),
@@ -1031,7 +1013,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
1031
1013
  var resizeTimer;
1032
1014
  var lastHeight;
1033
1015
  var lastWidth;
1034
-
1016
+ var $window = $(window);
1035
1017
  var docObserve = {
1036
1018
  init: false,
1037
1019
  runs: 0,
@@ -1051,25 +1033,36 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
1051
1033
  docObserve.runs = 0;
1052
1034
  }
1053
1035
  },
1054
- handler: function(e){
1055
- clearTimeout(resizeTimer);
1056
- resizeTimer = setTimeout(function(){
1057
- if(e.type == 'resize'){
1058
- var width = $(window).width();
1059
- var height = $(window).width();
1060
- if(height == lastHeight && width == lastWidth){
1061
- return;
1036
+ handler: (function(){
1037
+ var trigger = function(){
1038
+ $(document).triggerHandler('updateshadowdom');
1039
+ };
1040
+ return function(e){
1041
+ clearTimeout(resizeTimer);
1042
+ resizeTimer = setTimeout(function(){
1043
+ if(e.type == 'resize'){
1044
+ var width = $window.width();
1045
+ var height = $window.width();
1046
+
1047
+ if(height == lastHeight && width == lastWidth){
1048
+ return;
1049
+ }
1050
+ lastHeight = height;
1051
+ lastWidth = width;
1052
+
1053
+ docObserve.height = docObserve.getHeight();
1054
+ docObserve.width = docObserve.getWidth();
1055
+ }
1056
+
1057
+ if(window.requestAnimationFrame){
1058
+ requestAnimationFrame(trigger);
1059
+ } else {
1060
+ setTimeout(trigger, 0);
1062
1061
  }
1063
- lastHeight = height;
1064
- lastWidth = width;
1065
-
1066
- docObserve.height = docObserve.getHeight();
1067
- docObserve.width = docObserve.getWidth();
1068
1062
 
1069
- }
1070
- $(document).triggerHandler('updateshadowdom');
1071
- }, (e.type == 'resize') ? 50 : 9);
1072
- },
1063
+ }, (e.type == 'resize' && !window.requestAnimationFrame) ? 50 : 0);
1064
+ };
1065
+ })(),
1073
1066
  _create: function(){
1074
1067
  $.each({ Height: "getHeight", Width: "getWidth" }, function(name, type){
1075
1068
  var body = document.body;
@@ -1407,13 +1400,17 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
1407
1400
  webshims.defineNodeNamesProperty(elementNames, prop, {
1408
1401
  attr: {
1409
1402
  set: function(val){
1410
- this.setAttribute(prop, val);
1403
+ if(descs.useContentAttribute){
1404
+ webshims.contentAttr(this, prop, val);
1405
+ } else {
1406
+ this.setAttribute(prop, val);
1407
+ }
1411
1408
  if(descs.set){
1412
1409
  descs.set.call(this, true);
1413
1410
  }
1414
1411
  },
1415
1412
  get: function(){
1416
- var ret = this.getAttribute(prop);
1413
+ var ret = (descs.useContentAttribute) ? webshims.contentAttr(this, prop) : this.getAttribute(prop);
1417
1414
  return (ret == null) ? undefined : prop;
1418
1415
  }
1419
1416
  },
@@ -1470,6 +1467,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
1470
1467
  });
1471
1468
  }
1472
1469
  };
1470
+
1473
1471
  var select = function(obj){
1474
1472
  var oldLang = obj.__active;
1475
1473
  var selectLang = function(i, lang){
@@ -1477,6 +1475,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
1477
1475
  if(obj[lang] || obj.availableLangs.indexOf(lang) != -1){
1478
1476
  if(obj[lang]){
1479
1477
  obj.__active = obj[lang];
1478
+ obj.__activeName = lang;
1480
1479
  } else {
1481
1480
  load(obj.langSrc+lang, obj, curLang.join());
1482
1481
  }
@@ -1486,6 +1485,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
1486
1485
  $.each(curLang, selectLang);
1487
1486
  if(!obj.__active){
1488
1487
  obj.__active = obj[''];
1488
+ obj.__activeName = '';
1489
1489
  }
1490
1490
  if(oldLang != obj.__active){
1491
1491
  $(obj).trigger('change');
@@ -1590,7 +1590,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
1590
1590
  }
1591
1591
  });
1592
1592
 
1593
- })(webshims.$, document);
1593
+ })(webshims.$, document);;
1594
1594
  webshims.register('form-core', function($, webshims, window, document, undefined, options){
1595
1595
  "use strict";
1596
1596
 
@@ -1655,6 +1655,7 @@ webshims.register('form-core', function($, webshims, window, document, undefined
1655
1655
  };
1656
1656
 
1657
1657
  var extendSels = function(){
1658
+ var matches, matchesOverride;
1658
1659
  var exp = $.expr[":"];
1659
1660
  $.extend(exp, {
1660
1661
  "valid-element": function(elem){
@@ -1679,7 +1680,15 @@ webshims.register('form-core', function($, webshims, window, document, undefined
1679
1680
  });
1680
1681
 
1681
1682
  // sizzle/jQuery has a bug with :disabled/:enabled selectors
1682
- if(Modernizr.fieldsetdisabled && !$('<fieldset disabled=""><input /><fieldset>').find('input').is(':disabled')){
1683
+ if(Modernizr.fieldsetdisabled && !$('<fieldset disabled=""><input /><input /></fieldset>').find(':disabled').filter(':disabled').is(':disabled')){
1684
+ matches = $.find.matches;
1685
+ matchesOverride = {':disabled': 1, ':enabled': 1};
1686
+ $.find.matches = function(expr, elements){
1687
+ if(matchesOverride[expr]){
1688
+ return matches.call(this, '*'+expr, elements);
1689
+ }
1690
+ return matches.apply(this, arguments);
1691
+ };
1683
1692
  $.extend(exp, {
1684
1693
  "enabled": function( elem ) {
1685
1694
  return elem.disabled === false && !$(elem).is('fieldset[disabled] *');
@@ -1783,7 +1792,7 @@ webshims.register('form-core', function($, webshims, window, document, undefined
1783
1792
  if(webshims.errorbox && webshims.errorbox.initIvalContentMessage){
1784
1793
  webshims.errorbox.initIvalContentMessage(elem);
1785
1794
  }
1786
- var message = (webshims.getOptions && webshims.errorbox ? webshims.getOptions(elem, 'errormessage') : $(elem).data('errormessage')) || elem.getAttribute('x-moz-errormessage') || '';
1795
+ var message = (webshims.getOptions && webshims.errorbox ? webshims.getOptions(elem, 'errormessage', false, true) : $(elem).data('errormessage')) || elem.getAttribute('x-moz-errormessage') || '';
1787
1796
  if(key && message[key]){
1788
1797
  message = message[key];
1789
1798
  } else if(message) {
@@ -1834,10 +1843,8 @@ webshims.register('form-core', function($, webshims, window, document, undefined
1834
1843
  }
1835
1844
  });
1836
1845
  webshims.ready('WINDOWLOAD', lazyLoad);
1837
-
1838
1846
  });
1839
-
1840
- webshims.register('form-datalist', function($, webshims, window, document, undefined, options){
1847
+ ;webshims.register('form-datalist', function($, webshims, window, document, undefined, options){
1841
1848
  "use strict";
1842
1849
  var doc = document;
1843
1850
  var lazyLoad = function(name){
@@ -2128,8 +2135,7 @@ webshims.register('form-datalist', function($, webshims, window, document, undef
2128
2135
  initializeDatalist();
2129
2136
  })();
2130
2137
 
2131
- });
2132
- (function(Modernizr, webshims){
2138
+ });;(function(Modernizr, webshims){
2133
2139
  "use strict";
2134
2140
  var $ = webshims.$;
2135
2141
  var hasNative = Modernizr.audio && Modernizr.video;