├── README
├── font.html
├── images
├── activity.png
├── cross.png
└── font-test.png
├── index.html
├── jquery.ba-throttle-debounce.js
├── jquery.js
├── jquery.qnx.core.js
├── jquery.ui.widget.js
├── newstyles.html
├── qnxbuttons.css
├── qnxforms.js
└── widgets
├── jquery.qnx.button.js
├── jquery.qnx.select.js
├── jquery.qnx.slider.js
└── jquery.qnx.textfield.js
/README:
--------------------------------------------------------------------------------
1 | EULA:
2 |
3 | The exact license is still pending but what matters is that it's free and you can use it for whatever you want, both commercial and non-commercial.
4 |
5 | That said, all this is to be considered pre-alpha. Use at your own risk.
6 |
7 | All code by Marco van Hylckama Vlieg and Douglas Neiner
8 | (c) 2011, All Rights Reserved
9 |
--------------------------------------------------------------------------------
/font.html:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
36 |
172 |
173 |
174 |
--------------------------------------------------------------------------------
/jquery.ba-throttle-debounce.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * jQuery throttle / debounce - v1.1 - 3/7/2010
3 | * http://benalman.com/projects/jquery-throttle-debounce-plugin/
4 | *
5 | * Copyright (c) 2010 "Cowboy" Ben Alman
6 | * Dual licensed under the MIT and GPL licenses.
7 | * http://benalman.com/about/license/
8 | */
9 |
10 | // Script: jQuery throttle / debounce: Sometimes, less is more!
11 | //
12 | // *Version: 1.1, Last updated: 3/7/2010*
13 | //
14 | // Project Home - http://benalman.com/projects/jquery-throttle-debounce-plugin/
15 | // GitHub - http://github.com/cowboy/jquery-throttle-debounce/
16 | // Source - http://github.com/cowboy/jquery-throttle-debounce/raw/master/jquery.ba-throttle-debounce.js
17 | // (Minified) - http://github.com/cowboy/jquery-throttle-debounce/raw/master/jquery.ba-throttle-debounce.min.js (0.7kb)
18 | //
19 | // About: License
20 | //
21 | // Copyright (c) 2010 "Cowboy" Ben Alman,
22 | // Dual licensed under the MIT and GPL licenses.
23 | // http://benalman.com/about/license/
24 | //
25 | // About: Examples
26 | //
27 | // These working examples, complete with fully commented code, illustrate a few
28 | // ways in which this plugin can be used.
29 | //
30 | // Throttle - http://benalman.com/code/projects/jquery-throttle-debounce/examples/throttle/
31 | // Debounce - http://benalman.com/code/projects/jquery-throttle-debounce/examples/debounce/
32 | //
33 | // About: Support and Testing
34 | //
35 | // Information about what version or versions of jQuery this plugin has been
36 | // tested with, what browsers it has been tested in, and where the unit tests
37 | // reside (so you can test it yourself).
38 | //
39 | // jQuery Versions - none, 1.3.2, 1.4.2
40 | // Browsers Tested - Internet Explorer 6-8, Firefox 2-3.6, Safari 3-4, Chrome 4-5, Opera 9.6-10.1.
41 | // Unit Tests - http://benalman.com/code/projects/jquery-throttle-debounce/unit/
42 | //
43 | // About: Release History
44 | //
45 | // 1.1 - (3/7/2010) Fixed a bug in where trailing callbacks
46 | // executed later than they should. Reworked a fair amount of internal
47 | // logic as well.
48 | // 1.0 - (3/6/2010) Initial release as a stand-alone project. Migrated over
49 | // from jquery-misc repo v0.4 to jquery-throttle repo v1.0, added the
50 | // no_trailing throttle parameter and debounce functionality.
51 | //
52 | // Topic: Note for non-jQuery users
53 | //
54 | // jQuery isn't actually required for this plugin, because nothing internal
55 | // uses any jQuery methods or properties. jQuery is just used as a namespace
56 | // under which these methods can exist.
57 | //
58 | // Since jQuery isn't actually required for this plugin, if jQuery doesn't exist
59 | // when this plugin is loaded, the method described below will be created in
60 | // the `Cowboy` namespace. Usage will be exactly the same, but instead of
61 | // $.method() or jQuery.method(), you'll need to use Cowboy.method().
62 |
63 | (function(window,undefined){
64 | '$:nomunge'; // Used by YUI compressor.
65 |
66 | // Since jQuery really isn't required for this plugin, use `jQuery` as the
67 | // namespace only if it already exists, otherwise use the `Cowboy` namespace,
68 | // creating it if necessary.
69 | var $ = window.jQuery || window.Cowboy || ( window.Cowboy = {} ),
70 |
71 | // Internal method reference.
72 | jq_throttle;
73 |
74 | // Method: jQuery.throttle
75 | //
76 | // Throttle execution of a function. Especially useful for rate limiting
77 | // execution of handlers on events like resize and scroll. If you want to
78 | // rate-limit execution of a function to a single time, see the
79 | // method.
80 | //
81 | // In this visualization, | is a throttled-function call and X is the actual
82 | // callback execution:
83 | //
84 | // > Throttled with `no_trailing` specified as false or unspecified:
85 | // > ||||||||||||||||||||||||| (pause) |||||||||||||||||||||||||
86 | // > X X X X X X X X X X X X
87 | // >
88 | // > Throttled with `no_trailing` specified as true:
89 | // > ||||||||||||||||||||||||| (pause) |||||||||||||||||||||||||
90 | // > X X X X X X X X X X
91 | //
92 | // Usage:
93 | //
94 | // > var throttled = jQuery.throttle( delay, [ no_trailing, ] callback );
95 | // >
96 | // > jQuery('selector').bind( 'someevent', throttled );
97 | // > jQuery('selector').unbind( 'someevent', throttled );
98 | //
99 | // This also works in jQuery 1.4+:
100 | //
101 | // > jQuery('selector').bind( 'someevent', jQuery.throttle( delay, [ no_trailing, ] callback ) );
102 | // > jQuery('selector').unbind( 'someevent', callback );
103 | //
104 | // Arguments:
105 | //
106 | // delay - (Number) A zero-or-greater delay in milliseconds. For event
107 | // callbacks, values around 100 or 250 (or even higher) are most useful.
108 | // no_trailing - (Boolean) Optional, defaults to false. If no_trailing is
109 | // true, callback will only execute every `delay` milliseconds while the
110 | // throttled-function is being called. If no_trailing is false or
111 | // unspecified, callback will be executed one final time after the last
112 | // throttled-function call. (After the throttled-function has not been
113 | // called for `delay` milliseconds, the internal counter is reset)
114 | // callback - (Function) A function to be executed after delay milliseconds.
115 | // The `this` context and all arguments are passed through, as-is, to
116 | // `callback` when the throttled-function is executed.
117 | //
118 | // Returns:
119 | //
120 | // (Function) A new, throttled, function.
121 |
122 | $.throttle = jq_throttle = function( delay, no_trailing, callback, debounce_mode ) {
123 | // After wrapper has stopped being called, this timeout ensures that
124 | // `callback` is executed at the proper times in `throttle` and `end`
125 | // debounce modes.
126 | var timeout_id,
127 |
128 | // Keep track of the last time `callback` was executed.
129 | last_exec = 0;
130 |
131 | // `no_trailing` defaults to falsy.
132 | if ( typeof no_trailing !== 'boolean' ) {
133 | debounce_mode = callback;
134 | callback = no_trailing;
135 | no_trailing = undefined;
136 | }
137 |
138 | // The `wrapper` function encapsulates all of the throttling / debouncing
139 | // functionality and when executed will limit the rate at which `callback`
140 | // is executed.
141 | function wrapper() {
142 | var that = this,
143 | elapsed = +new Date() - last_exec,
144 | args = arguments;
145 |
146 | // Execute `callback` and update the `last_exec` timestamp.
147 | function exec() {
148 | last_exec = +new Date();
149 | callback.apply( that, args );
150 | };
151 |
152 | // If `debounce_mode` is true (at_begin) this is used to clear the flag
153 | // to allow future `callback` executions.
154 | function clear() {
155 | timeout_id = undefined;
156 | };
157 |
158 | if ( debounce_mode && !timeout_id ) {
159 | // Since `wrapper` is being called for the first time and
160 | // `debounce_mode` is true (at_begin), execute `callback`.
161 | exec();
162 | }
163 |
164 | // Clear any existing timeout.
165 | timeout_id && clearTimeout( timeout_id );
166 |
167 | if ( debounce_mode === undefined && elapsed > delay ) {
168 | // In throttle mode, if `delay` time has been exceeded, execute
169 | // `callback`.
170 | exec();
171 |
172 | } else if ( no_trailing !== true ) {
173 | // In trailing throttle mode, since `delay` time has not been
174 | // exceeded, schedule `callback` to execute `delay` ms after most
175 | // recent execution.
176 | //
177 | // If `debounce_mode` is true (at_begin), schedule `clear` to execute
178 | // after `delay` ms.
179 | //
180 | // If `debounce_mode` is false (at end), schedule `callback` to
181 | // execute after `delay` ms.
182 | timeout_id = setTimeout( debounce_mode ? clear : exec, debounce_mode === undefined ? delay - elapsed : delay );
183 | }
184 | };
185 |
186 | // Set the guid of `wrapper` function to the same of original callback, so
187 | // it can be removed in jQuery 1.4+ .unbind or .die by using the original
188 | // callback as a reference.
189 | if ( $.guid ) {
190 | wrapper.guid = callback.guid = callback.guid || $.guid++;
191 | }
192 |
193 | // Return the wrapper function.
194 | return wrapper;
195 | };
196 |
197 | // Method: jQuery.debounce
198 | //
199 | // Debounce execution of a function. Debouncing, unlike throttling,
200 | // guarantees that a function is only executed a single time, either at the
201 | // very beginning of a series of calls, or at the very end. If you want to
202 | // simply rate-limit execution of a function, see the
203 | // method.
204 | //
205 | // In this visualization, | is a debounced-function call and X is the actual
206 | // callback execution:
207 | //
208 | // > Debounced with `at_begin` specified as false or unspecified:
209 | // > ||||||||||||||||||||||||| (pause) |||||||||||||||||||||||||
210 | // > X X
211 | // >
212 | // > Debounced with `at_begin` specified as true:
213 | // > ||||||||||||||||||||||||| (pause) |||||||||||||||||||||||||
214 | // > X X
215 | //
216 | // Usage:
217 | //
218 | // > var debounced = jQuery.debounce( delay, [ at_begin, ] callback );
219 | // >
220 | // > jQuery('selector').bind( 'someevent', debounced );
221 | // > jQuery('selector').unbind( 'someevent', debounced );
222 | //
223 | // This also works in jQuery 1.4+:
224 | //
225 | // > jQuery('selector').bind( 'someevent', jQuery.debounce( delay, [ at_begin, ] callback ) );
226 | // > jQuery('selector').unbind( 'someevent', callback );
227 | //
228 | // Arguments:
229 | //
230 | // delay - (Number) A zero-or-greater delay in milliseconds. For event
231 | // callbacks, values around 100 or 250 (or even higher) are most useful.
232 | // at_begin - (Boolean) Optional, defaults to false. If at_begin is false or
233 | // unspecified, callback will only be executed `delay` milliseconds after
234 | // the last debounced-function call. If at_begin is true, callback will be
235 | // executed only at the first debounced-function call. (After the
236 | // throttled-function has not been called for `delay` milliseconds, the
237 | // internal counter is reset)
238 | // callback - (Function) A function to be executed after delay milliseconds.
239 | // The `this` context and all arguments are passed through, as-is, to
240 | // `callback` when the debounced-function is executed.
241 | //
242 | // Returns:
243 | //
244 | // (Function) A new, debounced, function.
245 |
246 | $.debounce = function( delay, at_begin, callback ) {
247 | return callback === undefined
248 | ? jq_throttle( delay, at_begin, false )
249 | : jq_throttle( delay, callback, at_begin !== false );
250 | };
251 |
252 | })(this);
--------------------------------------------------------------------------------
/jquery.js:
--------------------------------------------------------------------------------
1 | /*!
2 | * jQuery JavaScript Library v1.6.1
3 | * http://jquery.com/
4 | *
5 | * Copyright 2011, John Resig
6 | * Dual licensed under the MIT or GPL Version 2 licenses.
7 | * http://jquery.org/license
8 | *
9 | * Includes Sizzle.js
10 | * http://sizzlejs.com/
11 | * Copyright 2011, The Dojo Foundation
12 | * Released under the MIT, BSD, and GPL Licenses.
13 | *
14 | * Date: Thu May 12 15:04:36 2011 -0400
15 | */
16 | (function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cv(a){if(!cj[a]){var b=f("<"+a+">").appendTo("body"),d=b.css("display");b.remove();if(d==="none"||d===""){ck||(ck=c.createElement("iframe"),ck.frameBorder=ck.width=ck.height=0),c.body.appendChild(ck);if(!cl||!ck.createElement)cl=(ck.contentWindow||ck.contentDocument).document,cl.write("");b=cl.createElement(a),cl.body.appendChild(b),d=f.css(b,"display"),c.body.removeChild(ck)}cj[a]=d}return cj[a]}function cu(a,b){var c={};f.each(cp.concat.apply([],cp.slice(0,b)),function(){c[this]=a});return c}function ct(){cq=b}function cs(){setTimeout(ct,0);return cq=f.now()}function ci(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ch(){try{return new a.XMLHttpRequest}catch(b){}}function cb(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g=0===c})}function W(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function O(a,b){return(a&&a!=="*"?a+".":"")+b.replace(A,"`").replace(B,"&")}function N(a){var b,c,d,e,g,h,i,j,k,l,m,n,o,p=[],q=[],r=f._data(this,"events");if(!(a.liveFired===this||!r||!r.live||a.target.disabled||a.button&&a.type==="click")){a.namespace&&(n=new RegExp("(^|\\.)"+a.namespace.split(".").join("\\.(?:.*\\.)?")+"(\\.|$)")),a.liveFired=this;var s=r.live.slice(0);for(i=0;ic)break;a.currentTarget=e.elem,a.data=e.handleObj.data,a.handleObj=e.handleObj,o=e.handleObj.origHandler.apply(e.elem,arguments);if(o===!1||a.isPropagationStopped()){c=e.level,o===!1&&(b=!1);if(a.isImmediatePropagationStopped())break}}return b}}function L(a,c,d){var e=f.extend({},d[0]);e.type=a,e.originalEvent={},e.liveFired=b,f.event.handle.call(c,e),e.isDefaultPrevented()&&d[0].preventDefault()}function F(){return!0}function E(){return!1}function m(a,c,d){var e=c+"defer",g=c+"queue",h=c+"mark",i=f.data(a,e,b,!0);i&&(d==="queue"||!f.data(a,g,b,!0))&&(d==="mark"||!f.data(a,h,b,!0))&&setTimeout(function(){!f.data(a,g,b,!0)&&!f.data(a,h,b,!0)&&(f.removeData(a,e,!0),i.resolve())},0)}function l(a){for(var b in a)if(b!=="toJSON")return!1;return!0}function k(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(j,"$1-$2").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNaN(d)?i.test(d)?f.parseJSON(d):d:parseFloat(d)}catch(g){}f.data(a,c,d)}else d=b}return d}var c=a.document,d=a.navigator,e=a.location,f=function(){function H(){if(!e.isReady){try{c.documentElement.doScroll("left")}catch(a){setTimeout(H,1);return}e.ready()}}var e=function(a,b){return new e.fn.init(a,b,h)},f=a.jQuery,g=a.$,h,i=/^(?:[^<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/\d/,n=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,o=/^[\],:{}\s]*$/,p=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,q=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,r=/(?:^|:|,)(?:\s*\[)+/g,s=/(webkit)[ \/]([\w.]+)/,t=/(opera)(?:.*version)?[ \/]([\w.]+)/,u=/(msie) ([\w.]+)/,v=/(mozilla)(?:.*? rv:([\w.]+))?/,w=d.userAgent,x,y,z,A=Object.prototype.toString,B=Object.prototype.hasOwnProperty,C=Array.prototype.push,D=Array.prototype.slice,E=String.prototype.trim,F=Array.prototype.indexOf,G={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=n.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.6.1",length:0,size:function(){return this.length},toArray:function(){return D.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?C.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),y.done(a);return this},eq:function(a){return a===-1?this.slice(a):this.slice(a,+a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(D.apply(this,arguments),"slice",D.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:C,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;y.resolveWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").unbind("ready")}},bindReady:function(){if(!y){y=e._Deferred();if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",z,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",z),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&H()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNaN:function(a){return a==null||!m.test(a)||isNaN(a)},type:function(a){return a==null?String(a):G[A.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;if(a.constructor&&!B.call(a,"constructor")&&!B.call(a.constructor.prototype,"isPrototypeOf"))return!1;var c;for(c in a);return c===b||B.call(a,c)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw a},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(o.test(b.replace(p,"@").replace(q,"]").replace(r,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(b,c,d){a.DOMParser?(d=new DOMParser,c=d.parseFromString(b,"text/xml")):(c=new ActiveXObject("Microsoft.XMLDOM"),c.async="false",c.loadXML(b)),d=c.documentElement,(!d||!d.nodeName||d.nodeName==="parsererror")&&e.error("Invalid XML: "+b);return c},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i1?h.call(arguments,0):c,--e||g.resolveWith(g,h.call(b,0))}}var b=arguments,c=0,d=b.length,e=d,g=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred();if(d>1){for(;c
a",d=a.getElementsByTagName("*"),e=a.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};f=c.createElement("select"),g=f.appendChild(c.createElement("option")),h=a.getElementsByTagName("input")[0],j={leadingWhitespace:a.firstChild.nodeType===3,tbody:!a.getElementsByTagName("tbody").length,htmlSerialize:!!a.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55$/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:h.value==="on",optSelected:g.selected,getSetAttribute:a.className!=="t",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},h.checked=!0,j.noCloneChecked=h.cloneNode(!0).checked,f.disabled=!0,j.optDisabled=!g.disabled;try{delete a.test}catch(s){j.deleteExpando=!1}!a.addEventListener&&a.attachEvent&&a.fireEvent&&(a.attachEvent("onclick",function b(){j.noCloneEvent=!1,a.detachEvent("onclick",b)}),a.cloneNode(!0).fireEvent("onclick")),h=c.createElement("input"),h.value="t",h.setAttribute("type","radio"),j.radioValue=h.value==="t",h.setAttribute("checked","checked"),a.appendChild(h),k=c.createDocumentFragment(),k.appendChild(a.firstChild),j.checkClone=k.cloneNode(!0).cloneNode(!0).lastChild.checked,a.innerHTML="",a.style.width=a.style.paddingLeft="1px",l=c.createElement("body"),m={visibility:"hidden",width:0,height:0,border:0,margin:0,background:"none"};for(q in m)l.style[q]=m[q];l.appendChild(a),b.insertBefore(l,b.firstChild),j.appendChecked=h.checked,j.boxModel=a.offsetWidth===2,"zoom"in a.style&&(a.style.display="inline",a.style.zoom=1,j.inlineBlockNeedsLayout=a.offsetWidth===2,a.style.display="",a.innerHTML="",j.shrinkWrapBlocks=a.offsetWidth!==2),a.innerHTML="