webshims-rails 1.14.5 → 1.14.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +2 -0
  3. data/lib/webshims-rails/version.rb +2 -2
  4. data/readme.textile +7 -0
  5. data/vendor/assets/javascripts/webshims/polyfiller.js +38 -6
  6. data/vendor/assets/javascripts/webshims/shims/combos/1.js +26 -20
  7. data/vendor/assets/javascripts/webshims/shims/combos/10.js +54 -19
  8. data/vendor/assets/javascripts/webshims/shims/combos/11.js +32 -15
  9. data/vendor/assets/javascripts/webshims/shims/combos/12.js +45 -21
  10. data/vendor/assets/javascripts/webshims/shims/combos/13.js +45 -21
  11. data/vendor/assets/javascripts/webshims/shims/combos/15.js +22 -4
  12. data/vendor/assets/javascripts/webshims/shims/combos/16.js +48 -24
  13. data/vendor/assets/javascripts/webshims/shims/combos/17.js +32 -15
  14. data/vendor/assets/javascripts/webshims/shims/combos/18.js +18 -81
  15. data/vendor/assets/javascripts/webshims/shims/combos/2.js +48 -24
  16. data/vendor/assets/javascripts/webshims/shims/combos/21.js +286 -179
  17. data/vendor/assets/javascripts/webshims/shims/combos/22.js +19 -1
  18. data/vendor/assets/javascripts/webshims/shims/combos/23.js +26 -20
  19. data/vendor/assets/javascripts/webshims/shims/combos/25.js +311 -199
  20. data/vendor/assets/javascripts/webshims/shims/combos/26.js +22 -17
  21. data/vendor/assets/javascripts/webshims/shims/combos/27.js +22 -17
  22. data/vendor/assets/javascripts/webshims/shims/combos/3.js +22 -4
  23. data/vendor/assets/javascripts/webshims/shims/combos/30.js +22 -4
  24. data/vendor/assets/javascripts/webshims/shims/combos/31.js +22 -4
  25. data/vendor/assets/javascripts/webshims/shims/combos/34.js +41 -5
  26. data/vendor/assets/javascripts/webshims/shims/combos/4.js +22 -4
  27. data/vendor/assets/javascripts/webshims/shims/combos/5.js +32 -15
  28. data/vendor/assets/javascripts/webshims/shims/combos/6.js +32 -15
  29. data/vendor/assets/javascripts/webshims/shims/combos/7.js +48 -24
  30. data/vendor/assets/javascripts/webshims/shims/combos/8.js +48 -24
  31. data/vendor/assets/javascripts/webshims/shims/combos/9.js +54 -19
  32. data/vendor/assets/javascripts/webshims/shims/combos/98.js +24 -7
  33. data/vendor/assets/javascripts/webshims/shims/combos/99.js +24 -7
  34. data/vendor/assets/javascripts/webshims/shims/dom-extend.js +22 -4
  35. data/vendor/assets/javascripts/webshims/shims/es5.js +3 -1
  36. data/vendor/assets/javascripts/webshims/shims/es6.js +1 -5
  37. data/vendor/assets/javascripts/webshims/shims/filereader.js +22 -17
  38. data/vendor/assets/javascripts/webshims/shims/form-number-date-ui.js +32 -15
  39. data/vendor/assets/javascripts/webshims/shims/forms-picker.js +18 -8
  40. data/vendor/assets/javascripts/webshims/shims/i18n/formcfg-fa.js +1 -1
  41. data/vendor/assets/javascripts/webshims/shims/jme/controls.css +11 -0
  42. data/vendor/assets/javascripts/webshims/shims/jme/controls.scss +16 -0
  43. data/vendor/assets/javascripts/webshims/shims/jme/mediacontrols-lazy.js +3 -20
  44. data/vendor/assets/javascripts/webshims/shims/jme/mediacontrols.js +24 -7
  45. data/vendor/assets/javascripts/webshims/shims/mediaelement-core.js +26 -20
  46. data/vendor/assets/javascripts/webshims/shims/mediaelement-debug.js +9 -1
  47. data/vendor/assets/javascripts/webshims/shims/mediaelement-jaris.js +267 -178
  48. data/vendor/assets/javascripts/webshims/shims/picture.js +18 -81
  49. data/vendor/assets/javascripts/webshims/shims/plugins/jquery.ui.position.js +1 -9
  50. data/vendor/assets/javascripts/webshims/shims/sizzle.js +1 -8
  51. data/vendor/assets/javascripts/webshims/shims/styles/forms-ext.css +4 -0
  52. data/vendor/assets/javascripts/webshims/shims/styles/scss/forms-ext.scss +5 -0
  53. data/vendor/assets/javascripts/webshims/shims/styles/shim-ext.css +4 -0
  54. data/vendor/assets/javascripts/webshims/shims/swf/JarisFLVPlayer.swf +0 -0
  55. data/vendor/assets/javascripts/webshims/shims/track.js +19 -1
  56. data/vendor/assets/javascripts/webshims/shims/url.js +316 -0
  57. data/vendor/assets/javascripts/webshims/shims/usermedia-core.js +28 -0
  58. data/vendor/assets/javascripts/webshims/shims/usermedia-shim.js +179 -0
  59. metadata +5 -3
  60. data/vendor/assets/javascripts/webshims/extras/modernizr-custom.js +0 -511
@@ -1869,22 +1869,36 @@ webshims.register('form-native-extend', function($, webshims, window, doc, undef
1869
1869
  }
1870
1870
  return val;
1871
1871
  },
1872
- time: function(val){
1873
- var fVal;
1874
- if(val && curCfg.meridian){
1872
+ time: function(val, o, noCorrect){
1873
+ var fVal, i;
1874
+ if(val){
1875
+
1875
1876
  val = val.split(':');
1876
- fVal = (val[0] * 1);
1877
- if(fVal && fVal >= 12){
1878
- val[0] = addZero(fVal - 12+'');
1879
- fVal = 1;
1880
-
1881
- } else {
1882
- fVal = 0;
1877
+ if(curCfg.meridian){
1878
+ fVal = (val[0] * 1);
1879
+ if(fVal && fVal >= 12){
1880
+ val[0] = addZero(fVal - 12+'');
1881
+ fVal = 1;
1882
+ } else {
1883
+ fVal = 0;
1884
+ }
1885
+ if(val[0] === '00'){
1886
+ val[0] = '12';
1887
+ }
1888
+ }
1889
+ if(!noCorrect){
1890
+ for(i = 0; i < val.length; i++){
1891
+ val[i] = addZero(val[i]);
1892
+ }
1893
+
1894
+ if(!val[1]){
1895
+ val[1] = '00';
1896
+ }
1883
1897
  }
1884
- if(val[0] === '00'){
1885
- val[0] = '12';
1898
+ val = $.trim(val.join(':'));
1899
+ if(fVal != null && curCfg.meridian){
1900
+ val += ' '+curCfg.meridian[fVal];
1886
1901
  }
1887
- val = $.trim(val.join(':')) + ' '+ curCfg.meridian[fVal];
1888
1902
  }
1889
1903
  return val;
1890
1904
  },
@@ -1973,12 +1987,15 @@ webshims.register('form-native-extend', function($, webshims, window, doc, undef
1973
1987
  var fVal;
1974
1988
  if(val && curCfg.meridian){
1975
1989
  val = val.toUpperCase();
1976
- if(val.substr(0,2) === "12"){
1990
+ if(val.substr(0,2) === "12"){
1977
1991
  val = "00" + val.substr(2);
1978
1992
  }
1993
+
1979
1994
  if(val.indexOf(curCfg.meridian[1]) != -1){
1995
+
1980
1996
  val = val.split(':');
1981
- fVal = (val[0] * 1);
1997
+ fVal = (val[0].replace(curCfg.meridian[1], '') * 1);
1998
+
1982
1999
  if(!isNaN(fVal)){
1983
2000
  val[0] = fVal + 12;
1984
2001
  }
@@ -283,7 +283,6 @@ webshims.isReady('swfmini', true);
283
283
  webshims.register('dom-extend', function($, webshims, window, document, undefined){
284
284
  "use strict";
285
285
  var supportHrefNormalized = !('hrefNormalized' in $.support) || $.support.hrefNormalized;
286
- var supportGetSetAttribute = !('getSetAttribute' in $.support) || $.support.getSetAttribute;
287
286
  var has = Object.prototype.hasOwnProperty;
288
287
  webshims.assumeARIA = true;
289
288
 
@@ -314,7 +313,6 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
314
313
  }
315
314
 
316
315
  //shortcus
317
- var modules = webshims.modules;
318
316
  var listReg = /\s*,\s*/;
319
317
 
320
318
  //proxying attribute
@@ -699,8 +697,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
699
697
  (tempCache || $( document.getElementsByTagName(nodeName) )).each(fn);
700
698
  }
701
699
  };
702
-
703
- var elementExtends = {};
700
+
704
701
  return {
705
702
  createTmpCache: function(nodeName){
706
703
  if($.isDOMReady){
@@ -752,6 +749,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
752
749
  };
753
750
 
754
751
  $.extend(webshims, {
752
+ xProps: havePolyfill,
755
753
  getID: (function(){
756
754
  var ID = new Date().getTime();
757
755
  return function(elem){
@@ -765,6 +763,26 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
765
763
  return id;
766
764
  };
767
765
  })(),
766
+ domPrefixes: ["ws", "webkit", "moz", "ms", "o"],
767
+
768
+ prefixed: function (prop, obj){
769
+ var i, testProp;
770
+ var ret = false;
771
+ if(obj[prop]){
772
+ ret = prop;
773
+ }
774
+ if(!ret){
775
+ prop = prop.charAt(0).toUpperCase() + prop.slice(1);
776
+ for(i = 0; i < webshims.domPrefixes.length; i++){
777
+ testProp = webshims.domPrefixes[i]+prop;
778
+ if(testProp in obj){
779
+ ret = testProp;
780
+ break;
781
+ }
782
+ }
783
+ }
784
+ return ret;
785
+ },
768
786
  shadowClass: 'wsshadow-'+(Date.now()),
769
787
  implement: function(elem, type){
770
788
  var data = elementData(elem, 'implemented') || elementData(elem, 'implemented', {});
@@ -2429,7 +2447,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
2429
2447
  }
2430
2448
 
2431
2449
  webshims.register('mediaelement-core', function($, webshims, window, document, undefined, options){
2432
- var hasSwf = swfmini.hasFlashPlayerVersion('10.0.3');
2450
+ var hasSwf = swfmini.hasFlashPlayerVersion('11.3');
2433
2451
  var mediaelement = webshims.mediaelement;
2434
2452
 
2435
2453
  mediaelement.parseRtmp = function(data){
@@ -2539,6 +2557,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
2539
2557
  loadYt();
2540
2558
  }
2541
2559
  };
2560
+
2542
2561
 
2543
2562
  webshims.addPolyfill('mediaelement-yt', {
2544
2563
  test: !hasYt,
@@ -2583,7 +2602,16 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
2583
2602
  if(src.indexOf('youtube.com/watch?') != -1 || src.indexOf('youtube.com/v/') != -1){
2584
2603
  return 'video/youtube';
2585
2604
  }
2586
- if(src.indexOf('rtmp') === 0){
2605
+
2606
+ if(!src.indexOf('mediastream:') || !src.indexOf('blob:http')){
2607
+ return 'usermedia';
2608
+ }
2609
+
2610
+ if(!src.indexOf('webshimstream')){
2611
+ return 'jarisplayer/stream';
2612
+ }
2613
+
2614
+ if(!src.indexOf('rtmp')){
2587
2615
  return nodeName+'/rtmp';
2588
2616
  }
2589
2617
  src = src.split('?')[0].split('#')[0].split('.');
@@ -2600,28 +2628,24 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
2600
2628
  };
2601
2629
 
2602
2630
 
2603
- mediaelement.srces = function(mediaElem, srces){
2631
+ mediaelement.srces = function(mediaElem){
2632
+ var srces = [];
2604
2633
  mediaElem = $(mediaElem);
2605
- if(!srces){
2606
- srces = [];
2607
- var nodeName = mediaElem[0].nodeName.toLowerCase();
2608
- var src = getSrcObj(mediaElem, nodeName);
2609
-
2610
- if(!src.src){
2611
- $('source', mediaElem).each(function(){
2612
- src = getSrcObj(this, nodeName);
2613
- if(src.src){srces.push(src);}
2614
- });
2615
- } else {
2616
- srces.push(src);
2617
- }
2618
- return srces;
2634
+ var nodeName = mediaElem[0].nodeName.toLowerCase();
2635
+ var src = getSrcObj(mediaElem, nodeName);
2636
+
2637
+ if(!src.src){
2638
+ $('source', mediaElem).each(function(){
2639
+ src = getSrcObj(this, nodeName);
2640
+ if(src.src){srces.push(src);}
2641
+ });
2619
2642
  } else {
2620
- webshims.error('setting sources was removed.');
2643
+ srces.push(src);
2621
2644
  }
2645
+ return srces;
2622
2646
  };
2623
2647
 
2624
- 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'];
2648
+ 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', 'jarisplayer/stream', 'video/youtube', 'video/rtmp', 'audio/rtmp'];
2625
2649
 
2626
2650
  mediaelement.canThirdPlaySrces = function(mediaElem, srces){
2627
2651
  var ret = '';
@@ -2651,7 +2675,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
2651
2675
  srces = srces || mediaelement.srces(mediaElem);
2652
2676
 
2653
2677
  $.each(srces, function(i, src){
2654
- if(src.type && nativeCanPlay.call(mediaElem[0], src.type) ){
2678
+ if(src.type == 'usermedia' || (src.type && nativeCanPlay.call(mediaElem[0], src.type)) ){
2655
2679
  ret = src;
2656
2680
  return false;
2657
2681
  }
@@ -283,7 +283,6 @@ webshims.isReady('swfmini', true);
283
283
  webshims.register('dom-extend', function($, webshims, window, document, undefined){
284
284
  "use strict";
285
285
  var supportHrefNormalized = !('hrefNormalized' in $.support) || $.support.hrefNormalized;
286
- var supportGetSetAttribute = !('getSetAttribute' in $.support) || $.support.getSetAttribute;
287
286
  var has = Object.prototype.hasOwnProperty;
288
287
  webshims.assumeARIA = true;
289
288
 
@@ -314,7 +313,6 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
314
313
  }
315
314
 
316
315
  //shortcus
317
- var modules = webshims.modules;
318
316
  var listReg = /\s*,\s*/;
319
317
 
320
318
  //proxying attribute
@@ -699,8 +697,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
699
697
  (tempCache || $( document.getElementsByTagName(nodeName) )).each(fn);
700
698
  }
701
699
  };
702
-
703
- var elementExtends = {};
700
+
704
701
  return {
705
702
  createTmpCache: function(nodeName){
706
703
  if($.isDOMReady){
@@ -752,6 +749,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
752
749
  };
753
750
 
754
751
  $.extend(webshims, {
752
+ xProps: havePolyfill,
755
753
  getID: (function(){
756
754
  var ID = new Date().getTime();
757
755
  return function(elem){
@@ -765,6 +763,26 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
765
763
  return id;
766
764
  };
767
765
  })(),
766
+ domPrefixes: ["ws", "webkit", "moz", "ms", "o"],
767
+
768
+ prefixed: function (prop, obj){
769
+ var i, testProp;
770
+ var ret = false;
771
+ if(obj[prop]){
772
+ ret = prop;
773
+ }
774
+ if(!ret){
775
+ prop = prop.charAt(0).toUpperCase() + prop.slice(1);
776
+ for(i = 0; i < webshims.domPrefixes.length; i++){
777
+ testProp = webshims.domPrefixes[i]+prop;
778
+ if(testProp in obj){
779
+ ret = testProp;
780
+ break;
781
+ }
782
+ }
783
+ }
784
+ return ret;
785
+ },
768
786
  shadowClass: 'wsshadow-'+(Date.now()),
769
787
  implement: function(elem, type){
770
788
  var data = elementData(elem, 'implemented') || elementData(elem, 'implemented', {});
@@ -2132,7 +2150,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
2132
2150
  }
2133
2151
 
2134
2152
  webshims.register('mediaelement-core', function($, webshims, window, document, undefined, options){
2135
- var hasSwf = swfmini.hasFlashPlayerVersion('10.0.3');
2153
+ var hasSwf = swfmini.hasFlashPlayerVersion('11.3');
2136
2154
  var mediaelement = webshims.mediaelement;
2137
2155
 
2138
2156
  mediaelement.parseRtmp = function(data){
@@ -2242,6 +2260,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
2242
2260
  loadYt();
2243
2261
  }
2244
2262
  };
2263
+
2245
2264
 
2246
2265
  webshims.addPolyfill('mediaelement-yt', {
2247
2266
  test: !hasYt,
@@ -2286,7 +2305,16 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
2286
2305
  if(src.indexOf('youtube.com/watch?') != -1 || src.indexOf('youtube.com/v/') != -1){
2287
2306
  return 'video/youtube';
2288
2307
  }
2289
- if(src.indexOf('rtmp') === 0){
2308
+
2309
+ if(!src.indexOf('mediastream:') || !src.indexOf('blob:http')){
2310
+ return 'usermedia';
2311
+ }
2312
+
2313
+ if(!src.indexOf('webshimstream')){
2314
+ return 'jarisplayer/stream';
2315
+ }
2316
+
2317
+ if(!src.indexOf('rtmp')){
2290
2318
  return nodeName+'/rtmp';
2291
2319
  }
2292
2320
  src = src.split('?')[0].split('#')[0].split('.');
@@ -2303,28 +2331,24 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
2303
2331
  };
2304
2332
 
2305
2333
 
2306
- mediaelement.srces = function(mediaElem, srces){
2334
+ mediaelement.srces = function(mediaElem){
2335
+ var srces = [];
2307
2336
  mediaElem = $(mediaElem);
2308
- if(!srces){
2309
- srces = [];
2310
- var nodeName = mediaElem[0].nodeName.toLowerCase();
2311
- var src = getSrcObj(mediaElem, nodeName);
2312
-
2313
- if(!src.src){
2314
- $('source', mediaElem).each(function(){
2315
- src = getSrcObj(this, nodeName);
2316
- if(src.src){srces.push(src);}
2317
- });
2318
- } else {
2319
- srces.push(src);
2320
- }
2321
- return srces;
2337
+ var nodeName = mediaElem[0].nodeName.toLowerCase();
2338
+ var src = getSrcObj(mediaElem, nodeName);
2339
+
2340
+ if(!src.src){
2341
+ $('source', mediaElem).each(function(){
2342
+ src = getSrcObj(this, nodeName);
2343
+ if(src.src){srces.push(src);}
2344
+ });
2322
2345
  } else {
2323
- webshims.error('setting sources was removed.');
2346
+ srces.push(src);
2324
2347
  }
2348
+ return srces;
2325
2349
  };
2326
2350
 
2327
- 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'];
2351
+ 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', 'jarisplayer/stream', 'video/youtube', 'video/rtmp', 'audio/rtmp'];
2328
2352
 
2329
2353
  mediaelement.canThirdPlaySrces = function(mediaElem, srces){
2330
2354
  var ret = '';
@@ -2354,7 +2378,7 @@ webshims.register('mediaelement-core', function($, webshims, window, document, u
2354
2378
  srces = srces || mediaelement.srces(mediaElem);
2355
2379
 
2356
2380
  $.each(srces, function(i, src){
2357
- if(src.type && nativeCanPlay.call(mediaElem[0], src.type) ){
2381
+ if(src.type == 'usermedia' || (src.type && nativeCanPlay.call(mediaElem[0], src.type)) ){
2358
2382
  ret = src;
2359
2383
  return false;
2360
2384
  }
@@ -60,7 +60,6 @@
60
60
  webshims.register('dom-extend', function($, webshims, window, document, undefined){
61
61
  "use strict";
62
62
  var supportHrefNormalized = !('hrefNormalized' in $.support) || $.support.hrefNormalized;
63
- var supportGetSetAttribute = !('getSetAttribute' in $.support) || $.support.getSetAttribute;
64
63
  var has = Object.prototype.hasOwnProperty;
65
64
  webshims.assumeARIA = true;
66
65
 
@@ -91,7 +90,6 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
91
90
  }
92
91
 
93
92
  //shortcus
94
- var modules = webshims.modules;
95
93
  var listReg = /\s*,\s*/;
96
94
 
97
95
  //proxying attribute
@@ -476,8 +474,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
476
474
  (tempCache || $( document.getElementsByTagName(nodeName) )).each(fn);
477
475
  }
478
476
  };
479
-
480
- var elementExtends = {};
477
+
481
478
  return {
482
479
  createTmpCache: function(nodeName){
483
480
  if($.isDOMReady){
@@ -529,6 +526,7 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
529
526
  };
530
527
 
531
528
  $.extend(webshims, {
529
+ xProps: havePolyfill,
532
530
  getID: (function(){
533
531
  var ID = new Date().getTime();
534
532
  return function(elem){
@@ -542,6 +540,26 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
542
540
  return id;
543
541
  };
544
542
  })(),
543
+ domPrefixes: ["ws", "webkit", "moz", "ms", "o"],
544
+
545
+ prefixed: function (prop, obj){
546
+ var i, testProp;
547
+ var ret = false;
548
+ if(obj[prop]){
549
+ ret = prop;
550
+ }
551
+ if(!ret){
552
+ prop = prop.charAt(0).toUpperCase() + prop.slice(1);
553
+ for(i = 0; i < webshims.domPrefixes.length; i++){
554
+ testProp = webshims.domPrefixes[i]+prop;
555
+ if(testProp in obj){
556
+ ret = testProp;
557
+ break;
558
+ }
559
+ }
560
+ }
561
+ return ret;
562
+ },
545
563
  shadowClass: 'wsshadow-'+(Date.now()),
546
564
  implement: function(elem, type){
547
565
  var data = elementData(elem, 'implemented') || elementData(elem, 'implemented', {});
@@ -2255,22 +2273,36 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
2255
2273
  }
2256
2274
  return val;
2257
2275
  },
2258
- time: function(val){
2259
- var fVal;
2260
- if(val && curCfg.meridian){
2276
+ time: function(val, o, noCorrect){
2277
+ var fVal, i;
2278
+ if(val){
2279
+
2261
2280
  val = val.split(':');
2262
- fVal = (val[0] * 1);
2263
- if(fVal && fVal >= 12){
2264
- val[0] = addZero(fVal - 12+'');
2265
- fVal = 1;
2266
-
2267
- } else {
2268
- fVal = 0;
2281
+ if(curCfg.meridian){
2282
+ fVal = (val[0] * 1);
2283
+ if(fVal && fVal >= 12){
2284
+ val[0] = addZero(fVal - 12+'');
2285
+ fVal = 1;
2286
+ } else {
2287
+ fVal = 0;
2288
+ }
2289
+ if(val[0] === '00'){
2290
+ val[0] = '12';
2291
+ }
2292
+ }
2293
+ if(!noCorrect){
2294
+ for(i = 0; i < val.length; i++){
2295
+ val[i] = addZero(val[i]);
2296
+ }
2297
+
2298
+ if(!val[1]){
2299
+ val[1] = '00';
2300
+ }
2269
2301
  }
2270
- if(val[0] === '00'){
2271
- val[0] = '12';
2302
+ val = $.trim(val.join(':'));
2303
+ if(fVal != null && curCfg.meridian){
2304
+ val += ' '+curCfg.meridian[fVal];
2272
2305
  }
2273
- val = $.trim(val.join(':')) + ' '+ curCfg.meridian[fVal];
2274
2306
  }
2275
2307
  return val;
2276
2308
  },
@@ -2359,12 +2391,15 @@ webshims.register('dom-extend', function($, webshims, window, document, undefine
2359
2391
  var fVal;
2360
2392
  if(val && curCfg.meridian){
2361
2393
  val = val.toUpperCase();
2362
- if(val.substr(0,2) === "12"){
2394
+ if(val.substr(0,2) === "12"){
2363
2395
  val = "00" + val.substr(2);
2364
2396
  }
2397
+
2365
2398
  if(val.indexOf(curCfg.meridian[1]) != -1){
2399
+
2366
2400
  val = val.split(':');
2367
- fVal = (val[0] * 1);
2401
+ fVal = (val[0].replace(curCfg.meridian[1], '') * 1);
2402
+
2368
2403
  if(!isNaN(fVal)){
2369
2404
  val[0] = fVal + 12;
2370
2405
  }