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
@@ -27,10 +27,10 @@
27
27
  }
28
28
  };
29
29
  if(!trackOptions.override){
30
- detectTrackError();
30
+ $(detectTrackError);
31
31
  }
32
32
  }
33
- })(webshims.$)
33
+ })(webshims.$);
34
34
  webshims.register('track-ui', function($, webshims, window, document, undefined){
35
35
  "use strict";
36
36
  var options = webshims.cfg.track;
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: webshims-rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.11.6.1
4
+ version: 1.12.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Reese
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-12-11 00:00:00.000000000 Z
11
+ date: 2014-01-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -41,7 +41,6 @@ files:
41
41
  - lib/webshims-rails/version.rb
42
42
  - readme.textile
43
43
  - vendor/assets/javascripts/webshims/extras/modernizr-custom.js
44
- - vendor/assets/javascripts/webshims/extras/mousepress.js
45
44
  - vendor/assets/javascripts/webshims/polyfiller.js
46
45
  - vendor/assets/javascripts/webshims/shims/$ajax.js
47
46
  - vendor/assets/javascripts/webshims/shims/FlashCanvas/canvas2png.js
@@ -76,9 +75,13 @@ files:
76
75
  - vendor/assets/javascripts/webshims/shims/combos/25.js
77
76
  - vendor/assets/javascripts/webshims/shims/combos/26.js
78
77
  - vendor/assets/javascripts/webshims/shims/combos/27.js
78
+ - vendor/assets/javascripts/webshims/shims/combos/28.js
79
+ - vendor/assets/javascripts/webshims/shims/combos/29.js
79
80
  - vendor/assets/javascripts/webshims/shims/combos/3.js
80
81
  - vendor/assets/javascripts/webshims/shims/combos/30.js
81
82
  - vendor/assets/javascripts/webshims/shims/combos/31.js
83
+ - vendor/assets/javascripts/webshims/shims/combos/32.js
84
+ - vendor/assets/javascripts/webshims/shims/combos/33.js
82
85
  - vendor/assets/javascripts/webshims/shims/combos/4.js
83
86
  - vendor/assets/javascripts/webshims/shims/combos/5.js
84
87
  - vendor/assets/javascripts/webshims/shims/combos/6.js
@@ -105,7 +108,7 @@ files:
105
108
  - vendor/assets/javascripts/webshims/shims/forms-picker.js
106
109
  - vendor/assets/javascripts/webshims/shims/geolocation.js
107
110
  - vendor/assets/javascripts/webshims/shims/i18n/formcfg-ar.js
108
- - vendor/assets/javascripts/webshims/shims/i18n/formcfg-ch-ZN.js
111
+ - vendor/assets/javascripts/webshims/shims/i18n/formcfg-ch-CN.js
109
112
  - vendor/assets/javascripts/webshims/shims/i18n/formcfg-cs.js
110
113
  - vendor/assets/javascripts/webshims/shims/i18n/formcfg-de.js
111
114
  - vendor/assets/javascripts/webshims/shims/i18n/formcfg-el.js
@@ -125,13 +128,13 @@ files:
125
128
  - vendor/assets/javascripts/webshims/shims/i18n/formcfg-pt.js
126
129
  - vendor/assets/javascripts/webshims/shims/i18n/formcfg-ru.js
127
130
  - vendor/assets/javascripts/webshims/shims/i18n/formcfg-sv.js
131
+ - vendor/assets/javascripts/webshims/shims/i18n/formcfg-zh-CN.js
128
132
  - vendor/assets/javascripts/webshims/shims/jpicker/ChangeLog.txt
129
133
  - vendor/assets/javascripts/webshims/shims/jpicker/ReadMe.txt
130
134
  - vendor/assets/javascripts/webshims/shims/jpicker/images/AlphaBar.png
131
135
  - vendor/assets/javascripts/webshims/shims/jpicker/images/Bars.png
132
136
  - vendor/assets/javascripts/webshims/shims/jpicker/images/Maps.png
133
137
  - vendor/assets/javascripts/webshims/shims/jpicker/images/NoColor.png
134
- - vendor/assets/javascripts/webshims/shims/jpicker/images/Thumbs.db
135
138
  - vendor/assets/javascripts/webshims/shims/jpicker/images/bar-opacity.png
136
139
  - vendor/assets/javascripts/webshims/shims/jpicker/images/map-opacity.png
137
140
  - vendor/assets/javascripts/webshims/shims/jpicker/images/mappoint.gif
@@ -139,12 +142,10 @@ files:
139
142
  - vendor/assets/javascripts/webshims/shims/jpicker/images/preview-opacity.png
140
143
  - vendor/assets/javascripts/webshims/shims/jpicker/images/rangearrows.gif
141
144
  - vendor/assets/javascripts/webshims/shims/jpicker/jpicker.css
142
- - vendor/assets/javascripts/webshims/shims/json-storage.js
143
145
  - vendor/assets/javascripts/webshims/shims/mediaelement-core.js
144
146
  - vendor/assets/javascripts/webshims/shims/mediaelement-jaris.js
145
147
  - vendor/assets/javascripts/webshims/shims/mediaelement-native-fix.js
146
148
  - vendor/assets/javascripts/webshims/shims/mediaelement-yt.js
147
- - vendor/assets/javascripts/webshims/shims/mediagroup.js
148
149
  - vendor/assets/javascripts/webshims/shims/plugins/jquery.ui.position.js
149
150
  - vendor/assets/javascripts/webshims/shims/range-ui.js
150
151
  - vendor/assets/javascripts/webshims/shims/sizzle.js
@@ -153,6 +154,8 @@ files:
153
154
  - vendor/assets/javascripts/webshims/shims/styles/forms-ext.css
154
155
  - vendor/assets/javascripts/webshims/shims/styles/forms.png
155
156
  - vendor/assets/javascripts/webshims/shims/styles/polyfill-loader.gif
157
+ - vendor/assets/javascripts/webshims/shims/styles/progress.gif
158
+ - vendor/assets/javascripts/webshims/shims/styles/progress.png
156
159
  - vendor/assets/javascripts/webshims/shims/styles/range-track.png
157
160
  - vendor/assets/javascripts/webshims/shims/styles/scss/_extends.scss
158
161
  - vendor/assets/javascripts/webshims/shims/styles/scss/forms-ext.scss
@@ -1,60 +0,0 @@
1
- /*
2
- * simple helper for a mousepress event
3
- * used by webshims improving spinbutton controls for input[type=time], input[type=number]...
4
- *
5
- * $(element).on('mousepress', function(){
6
- * //repeatedly called after mousedown, till mouseleave/mouseup
7
- * });
8
- */
9
- (function($){
10
- var removeTimer = function(elem, full){
11
- var timer = elem.data('mousepresstimer');
12
- if(timer){
13
- clearTimeout(timer);
14
- }
15
- if(full){
16
- elem.off('mouseup.mousepressext mouseleave.mousepressext');
17
- }
18
- elem = null;
19
- };
20
- $.event.special.mousepress = {
21
- setup: function(){
22
- var timer;
23
- $(this).on('mousedown.mousepressext', function(e){
24
- var elem = $(this);
25
-
26
- var startIntervall = function(delay){
27
- var steps = 0;
28
- removeTimer(elem);
29
- elem.data('mousepresstimer', setInterval(function(){
30
- $.event.special.mousepress.handler(elem[0], e);
31
- steps++;
32
- if(steps > 3 && delay > 45){
33
- startIntervall(delay - 40);
34
- }
35
- }, delay));
36
- };
37
- var target = $(e.target).trigger('mousepressstart', [e]);
38
-
39
- removeTimer(elem);
40
- elem.data('mousepresstimer', setTimeout(function(){
41
- startIntervall(180);
42
- }, 200));
43
-
44
- elem.on('mouseup.mousepressext mouseleave.mousepressext', function(e){
45
- removeTimer(elem, true);
46
- target.trigger('mousepressend', [e]);
47
- elem = null;
48
- target = null;
49
- });
50
- });
51
- },
52
- teardown: function(){
53
- removeTimer($(this).off('.mousepressext'), true);
54
- },
55
- handler: function(elem, e){
56
- return $.event.dispatch.call(elem, {type: 'mousepress', target: e.target, pageX: e.pageX, pageY: e.pageY});
57
- }
58
- };
59
-
60
- })(jQuery);
@@ -1,316 +0,0 @@
1
-
2
- //JSON
3
- (function(){
4
- if('JSON'in window && JSON.stringify && JSON.parse){return;}
5
-
6
- if(!this.JSON){this.JSON={};}(function(){function f(n){return n<10?'0'+n:n;}if(typeof Date.prototype.toJSON!=='function'){Date.prototype.toJSON=function(key){return isFinite(this.valueOf())?this.getUTCFullYear()+'-'+f(this.getUTCMonth()+1)+'-'+f(this.getUTCDate())+'T'+f(this.getUTCHours())+':'+f(this.getUTCMinutes())+':'+f(this.getUTCSeconds())+'Z':null;};String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(key){return this.valueOf();};}var cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,escapable=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,gap,indent,meta={'\b':'\\b','\t':'\\t','\n':'\\n','\f':'\\f','\r':'\\r','"':'\\"','\\':'\\\\'},rep;function quote(string){escapable.lastIndex=0;return escapable.test(string)?'"'+string.replace(escapable,function(a){var c=meta[a];return typeof c==='string'?c:'\\u'+('0000'+a.charCodeAt(0).toString(16)).slice(-4);})+'"':'"'+string+'"';}function str(key,holder){var i,k,v,length,mind=gap,partial,value=holder[key];if(value&&typeof value==='object'&&typeof value.toJSON==='function'){value=value.toJSON(key);}if(typeof rep==='function'){value=rep.call(holder,key,value);}switch(typeof value){case'string':return quote(value);case'number':return isFinite(value)?String(value):'null';case'boolean':case'null':return String(value);case'object':if(!value){return'null';}gap+=indent;partial=[];if(Object.prototype.toString.apply(value)==='[object Array]'){length=value.length;for(i=0;i<length;i+=1){partial[i]=str(i,value)||'null';}v=partial.length===0?'[]':gap?'[\n'+gap+partial.join(',\n'+gap)+'\n'+mind+']':'['+partial.join(',')+']';gap=mind;return v;}if(rep&&typeof rep==='object'){length=rep.length;for(i=0;i<length;i+=1){k=rep[i];if(typeof k==='string'){v=str(k,value);if(v){partial.push(quote(k)+(gap?': ':':')+v);}}}}else{for(k in value){if(Object.hasOwnProperty.call(value,k)){v=str(k,value);if(v){partial.push(quote(k)+(gap?': ':':')+v);}}}}v=partial.length===0?'{}':gap?'{\n'+gap+partial.join(',\n'+gap)+'\n'+mind+'}':'{'+partial.join(',')+'}';gap=mind;return v;}}if(typeof JSON.stringify!=='function'){JSON.stringify=function(value,replacer,space){var i;gap='';indent='';if(typeof space==='number'){for(i=0;i<space;i+=1){indent+=' ';}}else if(typeof space==='string'){indent=space;}rep=replacer;if(replacer&&typeof replacer!=='function'&&(typeof replacer!=='object'||typeof replacer.length!=='number')){throw new Error('JSON.stringify');}return str('',{'':value});};}if(typeof JSON.parse!=='function'){JSON.parse=function(text,reviver){var j;function walk(holder,key){var k,v,value=holder[key];if(value&&typeof value==='object'){for(k in value){if(Object.hasOwnProperty.call(value,k)){v=walk(value,k);if(v!==undefined){value[k]=v;}else{delete value[k];}}}}return reviver.call(holder,key,value);}text=String(text);cx.lastIndex=0;if(cx.test(text)){text=text.replace(cx,function(a){return'\\u'+('0000'+a.charCodeAt(0).toString(16)).slice(-4);});}if(/^[\],:{}\s]*$/.test(text.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,'@').replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,']').replace(/(?:^|:|,)(?:\s*\[)+/g,''))){j=eval('('+text+')');return typeof reviver==='function'?walk({'':j},''):j;}throw new SyntaxError('JSON.parse');};}}());
7
-
8
- })();
9
-
10
- //modified version from http://gist.github.com/350433
11
- //using window.name for sessionStorage and cookies for localStorage
12
-
13
- (function () {
14
- var $ = webshims.$ || jQuery;
15
- webshims.error("The json-storage is depreacated. IE8+ supports this feature. No one should need a polyfill anymore!");
16
-
17
- if ('localStorage' in window && 'sessionStorage' in window) {
18
- $.webshims.isReady('json-storage', true);
19
- return;
20
- }
21
-
22
-
23
- var storageNameError = function(name){
24
- if(name && name.indexOf && name.indexOf(';') != -1){
25
- setTimeout(function(){
26
- $.webshims.warn("Bad key for localStorage: ; in localStorage. name was: "+ name);
27
- }, 0);
28
- }
29
- };
30
- var winData;
31
- var selfWindow = false;
32
- $.each(['opener', 'top', 'parent'], function(i, name){
33
- try {
34
- winData = window[name];
35
- if(winData && 'name' in winData){
36
- var test = winData.name;
37
- return false;
38
- } else {
39
- winData = false;
40
- }
41
- } catch(e){
42
- winData = false;
43
- }
44
- });
45
- if(!winData){
46
- winData = window;
47
- selfWindow = true;
48
- }
49
- var setWindowData = function(data){
50
- if(!selfWindow){
51
- try {
52
- window.name = data;
53
- } catch(e){}
54
- }
55
- try {
56
- winData.name = data;
57
- } catch(e){
58
- winData = window;
59
- selfWindow = true;
60
- }
61
- };
62
- var getWindowData = function(){
63
- var data;
64
- if(!selfWindow){
65
- try {
66
- data = window.name;
67
- } catch(e){}
68
- }
69
- if(!data){
70
- try {
71
- data = winData.name;
72
- } catch(e){
73
- winData = window;
74
- selfWindow = true;
75
- }
76
- }
77
- return data;
78
- };
79
- var Storage = function (type) {
80
- function createCookie(name, value, days) {
81
- var date, expires;
82
-
83
- if (days) {
84
- date = new Date();
85
- date.setTime(date.getTime()+(days*24*60*60*1000));
86
- expires = "; expires="+date.toGMTString();
87
- } else {
88
- expires = "";
89
- }
90
- document.cookie = name+"="+value+expires+"; path=/";
91
- }
92
-
93
- function readCookie(name) {
94
- var nameEQ = name + "=",
95
- ca = document.cookie.split(';'),
96
- i, c;
97
-
98
- for (i=0; i < ca.length; i++) {
99
- c = ca[i];
100
- while (c.charAt(0)==' ') {
101
- c = c.substring(1,c.length);
102
- }
103
-
104
- if (c.indexOf(nameEQ) === 0) {
105
- return c.substring(nameEQ.length,c.length);
106
- }
107
- }
108
- return null;
109
- }
110
-
111
- function setData(data) {
112
- data = JSON.stringify(data);
113
- if (type == 'session') {
114
- setWindowData(data);
115
- } else {
116
- createCookie('localStorage', data, 365);
117
- }
118
- }
119
-
120
- function clearData() {
121
- if (type == 'session') {
122
- setWindowData('');
123
- } else {
124
- createCookie('localStorage', '', 365);
125
- }
126
- }
127
-
128
- function getData() {
129
- var data;
130
- if(type == 'session'){
131
- data = getWindowData();
132
- } else {
133
- data = readCookie('localStorage');
134
- }
135
- if(data){
136
- try {
137
- data = JSON.parse(data);
138
- } catch(e){
139
- data = {};
140
- }
141
- }
142
- return data || {};
143
- }
144
-
145
-
146
- // initialise if there's already data
147
- var data = getData();
148
-
149
- return {
150
- clear: function () {
151
- data = {};
152
- clearData();
153
- },
154
- getItem: function (key) {
155
- return (key in data) ? data[key] : null;
156
- },
157
- key: function (i) {
158
- // not perfect, but works
159
- var ctr = 0;
160
- for (var k in data) {
161
- if (ctr == i) {
162
- return k;
163
- } else {
164
- ctr++;
165
- }
166
- }
167
- return null;
168
- },
169
- removeItem: function (key) {
170
- delete data[key];
171
- setData(data);
172
- },
173
- setItem: function (key, value) {
174
- storageNameError(key);
175
- data[key] = value+''; // forces the value to a string
176
- setData(data);
177
- }
178
- };
179
- };
180
-
181
-
182
-
183
- if (!('sessionStorage' in window)) {window.sessionStorage = new Storage('session');}
184
-
185
-
186
-
187
- (function(){
188
- var swfTimer;
189
- var emptyString = '(empty string)+1287520303738';
190
- var runStart;
191
- var shim;
192
- var localStorageSwfCallback = function(type){
193
- clearTimeout(swfTimer);
194
- var getType;
195
- if(window.localStorage && (type != 'swf' || (shim && shim.key))){
196
- $.webshims.isReady('json-storage', true);
197
- return;
198
- }
199
-
200
-
201
- if(type === 'swf'){
202
- shim = document.getElementById('swflocalstorageshim');
203
- getType = shim ? typeof(shim.GetVariable) : 'undefined';
204
-
205
- //brute force flash getter
206
- if( getType == 'undefined' ){
207
- shim = document.swflocalstorageshim;
208
- getType = shim ? typeof(shim.GetVariable) : 'undefined';
209
- if( getType == 'undefined' ){
210
- shim = window.localstorageshim;
211
- getType = shim ? typeof(shim.GetVariable) : 'undefined';
212
- }
213
- }
214
-
215
- if(getType != 'undefined'){
216
- window.localStorage = {};
217
-
218
- window.localStorage.clear = function(){
219
- if(shim.clear){shim.clear();}
220
- };
221
- window.localStorage.key = function(i){
222
- if(shim.key){shim.key(i);}
223
- };
224
- window.localStorage.removeItem = function(name){
225
- if(shim.removeItem){shim.removeItem(name);}
226
- };
227
-
228
- window.localStorage.setItem = function(name, val){
229
- storageNameError(name);
230
- val += '';
231
- if(!val){
232
- val = emptyString;
233
- }
234
- if(shim.setItem){
235
- shim.setItem(name, val);
236
- }
237
- };
238
- window.localStorage.getItem = function(name){
239
- if(!shim.getItem){
240
- return null;
241
- }
242
- var val = shim.getItem(name, val);
243
- if(val == emptyString){
244
- val = '';
245
- }
246
- return val;
247
- };
248
- $.webshims.log('flash-localStorage was implemented');
249
- }
250
- }
251
- if(!('localStorage' in window)){
252
- window.localStorage = new Storage('local');
253
- $.webshims.warn('implement cookie-localStorage');
254
- }
255
- $.webshims.isReady('json-storage', true);
256
- };
257
- var storageCFG = $.webshims.cfg['json-storage'];
258
- webshims.swfLocalStorage = {
259
- show: function(){
260
- if(storageCFG.exceededMessage){
261
- $('#swflocalstorageshim-wrapper').prepend('<div class="polyfill-exceeded-message">'+ storageCFG.exceededMessage +'</div>');
262
- }
263
- $('#swflocalstorageshim-wrapper').css({
264
- top: $(window).scrollTop() + 20,
265
- left: ($(window).width() / 2) - ($('#swflocalstorageshim-wrapper').outerWidth() / 2)
266
- });
267
-
268
- },
269
- hide: function(success){
270
- $('#swflocalstorageshim-wrapper')
271
- .css({top: '', left: ''})
272
- .find('div.polyfill-exceeded-message')
273
- .remove()
274
- ;
275
- if(!success){
276
- var err = new Error('DOMException: QUOTA_EXCEEDED_ERR');
277
- err.code = 22;
278
- err.name = 'DOMException';
279
- throw(err);
280
- }
281
- },
282
- isReady: localStorageSwfCallback
283
- };
284
-
285
- // $.webshims.swfLocalStorage.storageEvent = function(newVal, oldVal, url){
286
- //
287
- // };
288
-
289
- webshims.ready('DOM swfmini', function(){
290
-
291
- var swfmini = window.swfmini;
292
- if(runStart || (('localStorage' in window) && document.getElementById('swflocalstorageshim')) ){return;}
293
- runStart = true;
294
- if(swfmini && swfmini.hasFlashPlayerVersion('8.0.0')){
295
- $('body').append('<div id="swflocalstorageshim-wrapper"><div id="swflocalstorageshim" /></div>');
296
- swfmini.embedSWF(webshims.cfg.basePath +'swf/localStorage.swf' +(webshims.cfg.addCacheBuster || ''), 'swflocalstorageshim', '295', '198', '8.0.0', null, {allowscriptaccess: 'always'}, {name: 'swflocalstorageshim'}, function(e){
297
- if(!e.success && !window.localStorage){
298
- localStorageSwfCallback();
299
- }
300
- });
301
- clearTimeout(swfTimer);
302
- swfTimer = setTimeout(function(){
303
- if(!('localStorage' in window)){
304
- webshims.warn('Add your development-directory to the local-trusted security sandbox: http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04.html');
305
- }
306
- localStorageSwfCallback();
307
- }, (location.protocol.indexOf('file') === 0) ? 500 : 9999);
308
- } else {
309
- localStorageSwfCallback();
310
- }
311
- });
312
- })();
313
-
314
-
315
- })();
316
-