diff --git a/__COMPILED/CSS_selector_engine.ielt8.js b/__COMPILED/CSS_selector_engine.ielt8.js
index 2d835c6..afb90bb 100644
--- a/__COMPILED/CSS_selector_engine.ielt8.js
+++ b/__COMPILED/CSS_selector_engine.ielt8.js
@@ -1,24 +1,24 @@
-/* @license qS[A]/matches polyfill | @version 1.0 | MIT License | github.com/termi */
+/* qS[A]/matches polyfill | @version 1.0 | MIT License | github.com/termi */
;(function(){
-var d=!0,j=null,s=!1,u=window;function w(){throw Error("SYNTAX_ERR");}
-function aa(a,c,e,i,g,k,t,z,f){var O=e||[],q=!!g,x=!q&&c&&"number"==typeof c.length&&void 0===c.nodeType,n=q&&(c={})||(!c?document:x?c[0]:c),P,B=0,b,y,l,J=ba[(a[1]||"").replace(ca,"")]||0,V=2p&&h[2])ma.test(h[2])?"even"===h[2]?h[2]=[j,2]:"odd"===h[2]?h[2]=[j,2,"%",1]:(h[2]=h[2].match(na),h[2][0]=j):h[2]=[j,0,"%",h[2]],h[3]=p?"nodeIndexLast":"nodeIndex",h[4]=p?"lastChild":"firstChild",h[5]=p?"previousSibling":
-"nextSibling";else if(17===p)f||w(),q=d,g=x?c:[c],a[r]=j;else if(12==p&&(m=h[2]))oa.test(m.charAt(0))&&oa.test(m.charAt(m.length-1))&&(h[2]=m.substr(1,m.length-2));1==a.length&&a[0]===j&&(a=j)}q&&(J=0);if(1==J)if(K){K=9===n.nodeType?n:n.ownerDocument;if(pa){g=K.getElementsByName(F);H=[];for(r=-1;b=g[++r];)b.id==F&&H.push(b)}else{H=[];for(g=[];b=K.getElementById(F);)g.push(b),m="id"in b?b.id:b.getAttribute("id"),m==F&&H.push(b),b.setAttribute("id",F+" _");for(r=-1;b=g[++r];)b.setAttribute("id",F)}g=
-j;K=s}else L=L&&!C,Q=Q&&C&&!!G;q=(!x||1===c.length)&&!t&&!i&&!A&&!a&&!Q&&!L&&!K&&!z;do{switch(J){case 0:b=g[0];break;case 1:if(F)if(g=[],H.length)if(1+~\s])\s*/g,Ba=/~=/g,Ea=/(^|,|>|\+|~|\s).*?(?=[,>+~\s]|$)/g,ga=/\./g,ra=/\s/g,Fa=/^([,>+~\s])?([\w\-\|\*]*)#?([\w-]*)((?:\.?[\w-])*)(\[.+\])?(?::([^!]+))?(!)?$/,ia=/^\[?['"]?(.*?)['"]?(?:([\*~&\^\$@!]?=)['"]?(.*?)['"]?)?\]?$/,ka=/^([^(]+)(?:\((.+)\))?$/,Ca=/\-child\((\dn)\+(\d)\)/g,Da="-child\\($1%$2\\)",na=/(?:([-]?\d*)n)?(?:(%|-)(\d*))?/,Ha=/([,>+~\s])/,Ia=/^\s+/,
-ca=/\s/,ma=/\D/,oa=/['"]/,ba={"":1,",":1,">":2,"~":3,"+":4},ja={"":1,"=":2,"&=":3,"^=":4,"$=":5,"*=":6,"|=":7,"!=":8,"@=":9},la={"nth-child":0,"nth-last-child":1,"only-child":2,"first-child":3,"last-child":4,root:5,empty:6,checked:7,lang:8,enabled:9,disabled:10,selected:11,contains:12,not:13,matches:14,"read-only":15,"read-write":16,scope:17,focus:18,"nth-match":19,column:20,"nth-column":21},Ja={checked:j,disabled:j,ismap:j,multiple:j,readonly:j,selected:j},Ka={value:"defaultValue",checked:"defaultChecked",
-selected:"defaultSelected"},La={action:j,cite:j,codebase:j,data:j,href:j,longdesc:j,lowsrc:j,src:j,usemap:j},Y=document.documentElement;function U(a){for(var c=a.length>>>0,e=new Z,i=0;iparent.NodeList=Array;<\/script>"),Z=u.NodeList);C||(Ma=function(a){var c=[],e=this.all,i,g=-1;if(e.length)for(a=RegExp((a+"").replace(I,N));i=e[++g];)i.className&&a.test(i.className)&&c.push(i);return c});
-qa=Na?function(a,c){c=c.toLowerCase();return void 0!==Ka[c]?a[Ka[c]]||"":void 0!==La[c]?a.getAttribute(c,2)||"":void 0!==Ja[c]?a.getAttribute(c)?c:"":(a=a.getAttributeNode(c))&&a.value||""}:function(a,c){return a.getAttribute(c)};
-S=Y.matches||Y.webkitMatchesSelector||Y.mozMatchesSelector||Y.msMatchesSelector||Y.oMatchesSelector?function(a){if(!a)return s;if("*"===a||":root"===a&&this===Y||"body"===a&&this===document.body)return d;var c,e,i=s;if(!Ha.test(a)&&(c=this.parentNode)&&"querySelector"in c)i=c.querySelector(a),i!==j&&(i=i===this);if(!i&&i!==j&&(c=this.ownerDocument))for(e in a=c.querySelectorAll(a),a)if(Object.prototype.hasOwnProperty.call(a,e)&&(i=a[e]===this))return d;return!!i}:function(a){if(!a)return s;if("*"===
-a||this===Y&&":root"===a||this===document.body&&"BODY"===a.toUpperCase())return d;var c,e,i=s,g,a=za.call(a);if(c=a.match(Ga))switch(a.charAt(0)){case "#":return this.id===a.slice(1);default:return i=!(e=c[2])||this.className&&RegExp(e.replace(ga," ").replace(I,N)).test(this.className),!!(i&&!(e=c[1])||this.tagName&&this.tagName.toUpperCase()===e.toUpperCase())}else{if(Ha.test(a)){e=T.call(this.ownerDocument,a);for(g in e)if(Object.prototype.hasOwnProperty.call(e,g)&&(i=e[g]===this))return d;return s}e=
-aa(a.match(Fa),j,j,s,this,d);return e[0]===this}};$="matchesSelector";Y[$]||(X.matches=Y.matches=X[$]=Y[$]=S);$="matches";$ in X||(X[$]=document.documentElement[$]=X.matchesSelector);$="querySelectorAll";X[$]=Y[$]=document[$]=function(a,c){return T.call(this,a,s,c)};$="querySelector";X[$]=Y[$]=document[$]=function(a,c){return T.call(this,a,d,c)||j};$="getElementsByClassName";document[$]||(X[$]=Y[$]=document[$]=Ma);X=$=j;
+var d=void 0,j=!0,s=null,u=!1,w=window;function C(){throw Error("SYNTAX_ERR");}
+function aa(a,c,e,i,g,k,t,z,f){var P=e||[],q=!!g,x=!q&&c&&"number"==typeof c.length&&c.nodeType===d,n=q&&(c={})||(!c?document:x?c[0]:c),Q,B=0,b,y,l,J=ba[(a[1]||"").replace(ca,"")]||0,W=2p&&h[2])ma.test(h[2])?"even"===h[2]?h[2]=[s,2]:"odd"===h[2]?h[2]=[s,2,"%",1]:(h[2]=h[2].match(na),h[2][0]=s):h[2]=[s,0,"%",h[2]],h[3]=p?"nodeIndexLast":"nodeIndex",h[4]=p?"lastChild":"firstChild",h[5]=p?"previousSibling":"nextSibling";
+else if(17===p)f||C(),q=j,g=x?c:[c],a[r]=s;else if(12==p&&(m=h[2]))oa.test(m.charAt(0))&&oa.test(m.charAt(m.length-1))&&(h[2]=m.substr(1,m.length-2));1==a.length&&a[0]===s&&(a=s)}q&&(J=0);if(1==J)if(L){L=9===n.nodeType?n:n.ownerDocument;if(pa){g=L.getElementsByName(F);H=[];for(r=-1;b=g[++r];)b.id==F&&H.push(b)}else{H=[];for(g=[];b=L.getElementById(F);)g.push(b),m="id"in b?b.id:b.getAttribute("id"),m==F&&H.push(b),b.setAttribute("id",F+" _");for(r=-1;b=g[++r];)b.setAttribute("id",F)}g=s;L=u}else M=
+M&&!I,R=R&&I&&!!G;q=(!x||1===c.length)&&!t&&!i&&!A&&!a&&!R&&!M&&!L&&!z;do{switch(J){case 0:b=g[0];break;case 1:if(F)if(g=[],H.length)if(1+~\s])\s*/g,Ca=/~=/g,Fa=/(^|,|>|\+|~|\s).*?(?=[,>+~\s]|$)/g,da=/\./g,ra=/\s/g,Ga=/^([,>+~\s])?([\w\-\|\*]*)#?([\w-]*)((?:\.?[\w-])*)(\[.+\])?(?::([^!]+))?(!)?$/,ia=/^\[?['"]?(.*?)['"]?(?:([\*~&\^\$@!]?=)['"]?(.*?)['"]?)?\]?$/,ka=/^([^(]+)(?:\((.+)\))?$/,Da=/\-child\((\dn)\+(\d)\)/g,Ea="-child\\($1%$2\\)",na=/(?:([-]?\d*)n)?(?:(%|-)(\d*))?/,Ia=/([,>+~\s])/,Ja=/^\s+/,
+ca=/\s/,ma=/\D/,oa=/['"]/,ba={"":1,",":1,">":2,"~":3,"+":4},ja={"":1,"=":2,"&=":3,"^=":4,"$=":5,"*=":6,"|=":7,"!=":8,"@=":9},la={"nth-child":0,"nth-last-child":1,"only-child":2,"first-child":3,"last-child":4,root:5,empty:6,checked:7,lang:8,enabled:9,disabled:10,selected:11,contains:12,not:13,matches:14,"read-only":15,"read-write":16,scope:17,focus:18,"nth-match":19,column:20,"nth-column":21},Ka={checked:s,disabled:s,ismap:s,multiple:s,readonly:s,selected:s},La={value:"defaultValue",checked:"defaultChecked",
+selected:"defaultSelected"},Ma={action:s,cite:s,codebase:s,data:s,href:s,longdesc:s,lowsrc:s,src:s,usemap:s},Y=document.documentElement;function U(a){for(var c=a.length>>>0,e=new Z,i=0;iparent.NodeList=Array;<\/script>"),Z=w.NodeList);I||(Na=function(a){var c=[],e=this.all,i,g=-1;if(e.length)for(a=RegExp((a+"").replace(K,O));i=e[++g];)i.className&&a.test(i.className)&&c.push(i);return c});
+qa=Oa?function(a,c){c=c.toLowerCase();return La[c]!==d?a[La[c]]||"":Ma[c]!==d?a.getAttribute(c,2)||"":Ka[c]!==d?a.getAttribute(c)?c:"":(a=a.getAttributeNode(c))&&a.value||""}:function(a,c){return a.getAttribute(c)};
+T=Y.matches||Y.webkitMatchesSelector||Y.mozMatchesSelector||Y.msMatchesSelector||Y.oMatchesSelector?function(a){if(!a)return u;if("*"===a||":root"===a&&this===Y||"body"===a&&this===document.body)return j;var c,e,i=u;if(!Ia.test(a)&&(c=this.parentNode)&&"querySelector"in c)i=c.querySelector(a),i!==s&&(i=i===this);if(!i&&i!==s&&(c=this.ownerDocument))for(e in a=c.querySelectorAll(a),a)if(Object.prototype.hasOwnProperty.call(a,e)&&(i=a[e]===this))return j;return!!i}:function(a){if(!a)return u;if("*"===
+a||this===Y&&":root"===a||this===document.body&&"BODY"===a.toUpperCase())return j;var c,e,i=u,g,a=Aa.call(a);if(c=a.match(Ha))switch(a.charAt(0)){case "#":return this.id===a.slice(1);default:return i=!(e=c[2])||this.className&&RegExp(e.replace(da," ").replace(K,O)).test(this.className),!!(i&&!(e=c[1])||this.tagName&&this.tagName.toUpperCase()===e.toUpperCase())}else{if(Ia.test(a)){e=ta.call(this.ownerDocument,a);for(g in e)if(Object.prototype.hasOwnProperty.call(e,g)&&(i=e[g]===this))return j;return u}e=
+aa(a.match(Ga),s,s,u,this,j);return e[0]===this}};$="matchesSelector";Y[$]||(V.matches=Y.matches=V[$]=Y[$]=T);$="matches";$ in V||(V[$]=document.documentElement[$]=V.matchesSelector);$="querySelectorAll";V[$]=Y[$]=document[$]=function(a,c){return ta.call(this,a,u,c)};$="querySelector";V[$]=Y[$]=document[$]=function(a,c){return ta.call(this,a,j,c)||s};$="getElementsByClassName";document[$]||(V[$]=Y[$]=document[$]=Na);V=$=s;
})();
diff --git a/__COMPILED/CSS_selector_engine.js b/__COMPILED/CSS_selector_engine.js
index 71b2785..f74a761 100644
--- a/__COMPILED/CSS_selector_engine.js
+++ b/__COMPILED/CSS_selector_engine.js
@@ -1,25 +1,25 @@
-/* @license qS[A]/matches polyfill | @version 1.0 | MIT License | github.com/termi */
+/* qS[A]/matches polyfill | @version 1.0 | MIT License | github.com/termi */
;(function(){"use strict";
-var i=!0,j=null,q=!1,s=window;function v(){throw Error("SYNTAX_ERR");}
-function aa(a,c,e,h,d,l,r,y,f){var O=e||[],t=!!d,B=!t&&c&&"number"==typeof c.length&&void 0===c.nodeType,m=t&&(c={})||(!c?document:B?c[0]:c),D,P=0,b,w,k,J=ba[(a[1]||"").replace(ca,"")]||0,$=2p&&g[2])na.test(g[2])?"even"===g[2]?g[2]=[j,2]:"odd"===g[2]?g[2]=[j,2,"%",1]:(g[2]=g[2].match(oa),g[2][0]=j):g[2]=[j,0,"%",g[2]],g[3]=p?"nodeIndexLast":"nodeIndex",g[4]=p?"lastChild":"firstChild",g[5]=p?"previousSibling":
-"nextSibling";else if(17===p)f||v(),t=i,d=B?c:[c],a[u]=j;else if(12==p&&(n=g[2]))pa.test(n.charAt(0))&&pa.test(n.charAt(n.length-1))&&(g[2]=n.substr(1,n.length-2));1==a.length&&a[0]===j&&(a=j)}t&&(J=0);if(1==J)if(K){K=9===m.nodeType?m:m.ownerDocument;if(qa){d=K.getElementsByName(F);H=[];for(u=-1;b=d[++u];)b.id==F&&H.push(b)}else{H=[];for(d=[];b=K.getElementById(F);)d.push(b),n="id"in b?b.id:b.getAttribute("id"),n==F&&H.push(b),b.setAttribute("id",F+" _");for(u=-1;b=d[++u];)b.setAttribute("id",F)}d=
-j;K=q}else L=L&&!A,Q=Q&&A&&!!G;t=(!B||1===c.length)&&!r&&!h&&!z&&!a&&!Q&&!L&&!K&&!y;do{switch(J){case 0:b=d[0];break;case 1:if(F)if(d=[],H.length)if(1+~\s])\s*/g,Ea=/~=/g,Ha=/(^|,|>|\+|~|\s).*?(?=[,>+~\s]|$)/g,da=/\./g,ta=/\s/g,Ia=/^([,>+~\s])?([\w\-\|\*]*)#?([\w-]*)((?:\.?[\w-])*)(\[.+\])?(?::([^!]+))?(!)?$/,ga=/^\[?['"]?(.*?)['"]?(?:([\*~&\^\$@!]?=)['"]?(.*?)['"]?)?\]?$/,ia=/^([^(]+)(?:\((.+)\))?$/,Fa=/\-child\((\dn)\+(\d)\)/g,Ga="-child\\($1%$2\\)",oa=/(?:([-]?\d*)n)?(?:(%|-)(\d*))?/,La=/([,>+~\s])/,Ma=/^\s+/,
-ca=/\s/,na=/\D/,pa=/['"]/,ba={"":1,",":1,">":2,"~":3,"+":4},ha={"":1,"=":2,"&=":3,"^=":4,"$=":5,"*=":6,"|=":7,"!=":8,"@=":9},ma={"nth-child":0,"nth-last-child":1,"only-child":2,"first-child":3,"last-child":4,root:5,empty:6,checked:7,lang:8,enabled:9,disabled:10,selected:11,contains:12,not:13,matches:14,"read-only":15,"read-write":16,scope:17,focus:18,"nth-match":19,column:20,"nth-column":21},Na={checked:j,disabled:j,ismap:j,multiple:j,readonly:j,selected:j},Oa={value:"defaultValue",checked:"defaultChecked",
-selected:"defaultSelected"},X=document.documentElement;function V(a,c){var e=a.length>>>0,h=new Y,d;if(!c){try{d=Ba.call(a),d.splice(0,0,h.length,0),h.splice.apply(h,d)}catch(l){}if(h&&h.length===e)return h}for(d=0;d(Z+"").length&&Z,Y,ua,sa,va=Function.prototype.call,za=X.querySelector,Aa=X.querySelectorAll,ya=document.querySelector,
-xa=document.querySelectorAll,U=q,Ua,Va=document.createElement("input");Va.setAttribute("value",5);Ua=5!=Va.defaultValue;ya&&(Z=document.createElement("b"),Z.a="_"+ +new Date,Z.innerHTML="t",(U=ya.call(document,"#"+Z.a,Z))&&(U="t"==U.innerHTML)||(U=q));Y=function(){};Y.prototype=[];Z=new Y;Z.push(1);
-!Z.length&&!("NodeList"in s)&&(Z=document.createElement("iframe"),Z.style.display="none",document.body.appendChild(Z),Z.contentWindow.document.write("parent.NodeList=Array;<\/script>"),Y=s.NodeList);S||(T="uniqueId");A||(Ta=function(a){a+="";if(this.querySelectorAll)try{return V(this.querySelectorAll(a.replace(I,".$1")))}catch(c){}var e=[],h=this.all,d,l=-1;if(h.length)for(a=RegExp(a.replace(I,ea));d=h[++l];)d.className&&a.test(d.className)&&e.push(d);return e});
-sa=Ua?function(a,c){c=c.toLowerCase();return void 0!==Oa[c]?a[Oa[c]]||"":void 0!==q[c]?a.getAttribute(c,2)||"":void 0!==Na[c]?a.getAttribute(c)?c:"":(a=a.getAttributeNode(c))&&a.value||""}:function(a,c){return a.getAttribute(c)};
-ua=X.matches||X.webkitMatchesSelector||X.mozMatchesSelector||X.msMatchesSelector||X.oMatchesSelector||"querySelector"in document?function(a){if(!a)return q;if("*"===a||":root"===a&&this===X||"body"===a&&this===document.body)return i;var c,e,h=q;if(!La.test(a)&&(c=this.parentNode)&&"querySelector"in c)h=c.querySelector(a),h!==j&&(h=h===this);if(!h&&h!==j&&(c=this.ownerDocument))for(e in a=c.querySelectorAll(a),a)if(Object.prototype.hasOwnProperty.call(a,e)&&(h=a[e]===this))return i;return!!h}:function(a){if(!a)return q;
-if("*"===a||this===X&&":root"===a||this===document.body&&"BODY"===a.toUpperCase())return i;var c,e,h=q,d,a=Ca.call(a);if(c=a.match(Ka))switch(a.charAt(0)){case "#":return this.id===a.slice(1);default:return h=!(e=c[2])||this.className&&RegExp(e.replace(da," ").replace(I,ea)).test(this.className),!!(h&&!(e=c[1])||this.tagName&&this.tagName.toUpperCase()===e.toUpperCase())}else{if(La.test(a)){e=wa.call(this.ownerDocument,a);for(d in e)if(Object.prototype.hasOwnProperty.call(e,d)&&(h=e[d]===this))return i;
-return q}e=aa(a.match(Ia),j,j,q,this,i);return e[0]===this}};Z="matchesSelector";X[Z]||(W.matches=X.matches=W[Z]=X[Z]=ua);Z="matches";Z in W||(W[Z]=document.documentElement[Z]=W.matchesSelector);Z="querySelectorAll";W[Z]=X[Z]=document[Z]=function(a,c){return wa.call(this,a,q,c)};Z="querySelector";W[Z]=X[Z]=document[Z]=function(a,c){return wa.call(this,a,i,c)||j};Z="getElementsByClassName";document[Z]||(W[Z]=X[Z]=document[Z]=Ta);W=Z=j;
+var i=void 0,k=!0,q=null,s=!1,v=window;function A(){throw Error("SYNTAX_ERR");}
+function ba(a,c,e,h,d,l,r,y,f){var P=e||[],t=!!d,B=!t&&c&&"number"==typeof c.length&&c.nodeType===i,m=t&&(c={})||(!c?document:B?c[0]:c),D,Q=0,b,w,j,J=ca[(a[1]||"").replace(da,"")]||0,aa=2p&&g[2])oa.test(g[2])?"even"===g[2]?g[2]=[q,2]:"odd"===g[2]?g[2]=[q,2,"%",1]:(g[2]=g[2].match(pa),g[2][0]=q):g[2]=[q,0,"%",g[2]],g[3]=p?"nodeIndexLast":"nodeIndex",g[4]=p?"lastChild":"firstChild",g[5]=p?"previousSibling":"nextSibling";
+else if(17===p)f||A(),t=k,d=B?c:[c],a[u]=q;else if(12==p&&(n=g[2]))qa.test(n.charAt(0))&&qa.test(n.charAt(n.length-1))&&(g[2]=n.substr(1,n.length-2));1==a.length&&a[0]===q&&(a=q)}t&&(J=0);if(1==J)if(L){L=9===m.nodeType?m:m.ownerDocument;if(ra){d=L.getElementsByName(F);H=[];for(u=-1;b=d[++u];)b.id==F&&H.push(b)}else{H=[];for(d=[];b=L.getElementById(F);)d.push(b),n="id"in b?b.id:b.getAttribute("id"),n==F&&H.push(b),b.setAttribute("id",F+" _");for(u=-1;b=d[++u];)b.setAttribute("id",F)}d=q;L=s}else M=
+M&&!I,R=R&&I&&!!G;t=(!B||1===c.length)&&!r&&!h&&!z&&!a&&!R&&!M&&!L&&!y;do{switch(J){case 0:b=d[0];break;case 1:if(F)if(d=[],H.length)if(1+~\s])\s*/g,Fa=/~=/g,Ia=/(^|,|>|\+|~|\s).*?(?=[,>+~\s]|$)/g,ea=/\./g,ua=/\s/g,Ja=/^([,>+~\s])?([\w\-\|\*]*)#?([\w-]*)((?:\.?[\w-])*)(\[.+\])?(?::([^!]+))?(!)?$/,ha=/^\[?['"]?(.*?)['"]?(?:([\*~&\^\$@!]?=)['"]?(.*?)['"]?)?\]?$/,ja=/^([^(]+)(?:\((.+)\))?$/,Ga=/\-child\((\dn)\+(\d)\)/g,Ha="-child\\($1%$2\\)",pa=/(?:([-]?\d*)n)?(?:(%|-)(\d*))?/,Ma=/([,>+~\s])/,Na=/^\s+/,
+da=/\s/,oa=/\D/,qa=/['"]/,ca={"":1,",":1,">":2,"~":3,"+":4},ia={"":1,"=":2,"&=":3,"^=":4,"$=":5,"*=":6,"|=":7,"!=":8,"@=":9},na={"nth-child":0,"nth-last-child":1,"only-child":2,"first-child":3,"last-child":4,root:5,empty:6,checked:7,lang:8,enabled:9,disabled:10,selected:11,contains:12,not:13,matches:14,"read-only":15,"read-write":16,scope:17,focus:18,"nth-match":19,column:20,"nth-column":21},Oa={checked:q,disabled:q,ismap:q,multiple:q,readonly:q,selected:q},Pa={value:"defaultValue",checked:"defaultChecked",
+selected:"defaultSelected"},Y=document.documentElement;function W(a,c){var e=a.length>>>0,h=new Z,d;if(!c){try{d=Ca.call(a),d.splice(0,0,h.length,0),h.splice.apply(h,d)}catch(l){}if(h&&h.length===e)return h}for(d=0;d($+"").length&&$,Z,va,ta,wa=Function.prototype.call,Aa=Y.querySelector,Ba=Y.querySelectorAll,za=document.querySelector,
+ya=document.querySelectorAll,V=s,Va,Wa=document.createElement("input");Wa.setAttribute("value",5);Va=5!=Wa.defaultValue;za&&($=document.createElement("b"),$.a="_"+ +new Date,$.innerHTML="t",(V=za.call(document,"#"+$.a,$))&&(V="t"==V.innerHTML)||(V=s));Z=function(){};Z.prototype=[];$=new Z;$.push(1);
+!$.length&&!("NodeList"in v)&&($=document.createElement("iframe"),$.style.display="none",document.body.appendChild($),$.contentWindow.document.write("parent.NodeList=Array;<\/script>"),Z=v.NodeList);T||(U="uniqueId");I||(Ua=function(a){a+="";if(this.querySelectorAll)try{return W(this.querySelectorAll(a.replace(K,".$1")))}catch(c){}var e=[],h=this.all,d,l=-1;if(h.length)for(a=RegExp(a.replace(K,fa));d=h[++l];)d.className&&a.test(d.className)&&e.push(d);return e});
+ta=Va?function(a,c){c=c.toLowerCase();return Pa[c]!==i?a[Pa[c]]||"":s[c]!==i?a.getAttribute(c,2)||"":Oa[c]!==i?a.getAttribute(c)?c:"":(a=a.getAttributeNode(c))&&a.value||""}:function(a,c){return a.getAttribute(c)};
+va=Y.matches||Y.webkitMatchesSelector||Y.mozMatchesSelector||Y.msMatchesSelector||Y.oMatchesSelector||"querySelector"in document?function(a){if(!a)return s;if("*"===a||":root"===a&&this===Y||"body"===a&&this===document.body)return k;var c,e,h=s;if(!Ma.test(a)&&(c=this.parentNode)&&"querySelector"in c)h=c.querySelector(a),h!==q&&(h=h===this);if(!h&&h!==q&&(c=this.ownerDocument))for(e in a=c.querySelectorAll(a),a)if(Object.prototype.hasOwnProperty.call(a,e)&&(h=a[e]===this))return k;return!!h}:function(a){if(!a)return s;
+if("*"===a||this===Y&&":root"===a||this===document.body&&"BODY"===a.toUpperCase())return k;var c,e,h=s,d,a=Da.call(a);if(c=a.match(La))switch(a.charAt(0)){case "#":return this.id===a.slice(1);default:return h=!(e=c[2])||this.className&&RegExp(e.replace(ea," ").replace(K,fa)).test(this.className),!!(h&&!(e=c[1])||this.tagName&&this.tagName.toUpperCase()===e.toUpperCase())}else{if(Ma.test(a)){e=xa.call(this.ownerDocument,a);for(d in e)if(Object.prototype.hasOwnProperty.call(e,d)&&(h=e[d]===this))return k;
+return s}e=ba(a.match(Ja),q,q,s,this,k);return e[0]===this}};$="matchesSelector";Y[$]||(X.matches=Y.matches=X[$]=Y[$]=va);$="matches";$ in X||(X[$]=document.documentElement[$]=X.matchesSelector);$="querySelectorAll";X[$]=Y[$]=document[$]=function(a,c){return xa.call(this,a,s,c)};$="querySelector";X[$]=Y[$]=document[$]=function(a,c){return xa.call(this,a,k,c)||q};$="getElementsByClassName";document[$]||(X[$]=Y[$]=document[$]=Ua);X=$=q;
})();
diff --git a/__SRC/CSS_selector_engine.js b/__SRC/CSS_selector_engine.js
index b9306c3..7be029a 100644
--- a/__SRC/CSS_selector_engine.js
+++ b/__SRC/CSS_selector_engine.js
@@ -1,4 +1,4 @@
-/* @license qS[A]/matches polyfill | @version 1.0 | MIT License | github.com/termi */
+/** @license qS[A]/matches polyfill | @version 1.0 | MIT License | github.com/termi */
// ==ClosureCompiler==
// @compilation_level ADVANCED_OPTIMIZATIONS
@@ -51,253 +51,253 @@ var __GCC__IE_SHIMED_GET_ATTRIBUTE_SUPPORT__ = true;
// [[[|||---=== GCC DEFINES END ===---|||]]]
;(function(global) {
- "use strict";
+"use strict";
- if(!global["Element"])((global["Element"] =
+if(!global["Element"])((global["Element"] =
//Reprisent ActiveXObject as Node, Element and HTMLElement so ` instanceof Node` is working (!!!But no in IE9 with in "compatible mode")
- __GCC__IE_NODE_CONSTRUCTOR_AS_ACTIVX__ ? ActiveXObject : __GCC__IE_NODE_CONSTRUCTOR_AS_DOM_ELEMENT__ ? document.createTextNode("") : {}
- ).prototype)["ie"] = true;//fake prototype for IE < 8
- if(!global["HTMLElement"])global["HTMLElement"] = global["Element"];//IE8
- if(!global["Node"])global["Node"] = global["Element"];//IE8
+ __GCC__IE_NODE_CONSTRUCTOR_AS_ACTIVX__ ? ActiveXObject : __GCC__IE_NODE_CONSTRUCTOR_AS_DOM_ELEMENT__ ? document.createTextNode("") : {}
+ ).prototype)["ie"] = true;//fake prototype for IE < 8
+if(!global["HTMLElement"])global["HTMLElement"] = global["Element"];//IE8
+if(!global["Node"])global["Node"] = global["Element"];//IE8
- var
- _Element_prototype = global["Element"].prototype
+var
+ _Element_prototype = global["Element"].prototype
/** @type {RegExp} @const */
- , RE__getElementsByClassName = /\s*(\S+)\s*/g
+ , RE__getElementsByClassName = /\s*(\S+)\s*/g
/** @type {string} @const */
- , STRING_FOR_RE__getElementsByClassName1 = '(?=(^|.*\\s)$1(\\s|$))'
+ , STRING_FOR_RE__getElementsByClassName1 = '(?=(^|.*\\s)$1(\\s|$))'
/** @type {string} @const */
- , STRING_FOR_RE__getElementsByClassName2 = ".$1"
+ , STRING_FOR_RE__getElementsByClassName2 = ".$1"
/** @type {RegExp} @const */
- , RE__selector__easySelector = /^([\w\-\|]+)?((?:\.(?:[\w-]+))+)?$|^#([\w-]+$)/
+ , RE__selector__easySelector = /^([\w\-\|]+)?((?:\.(?:[\w-]+))+)?$|^#([\w-]+$)/
/** @type {RegExp} @const */
- , RE__queryComplexSelector__doubleSpaces = /\s*([,>+~\s])\s*/g//Note: Use with "$1"
+ , RE__queryComplexSelector__doubleSpaces = /\s*([,>+~\s])\s*/g//Note: Use with "$1"
/** @type {RegExp} @const */
- , RE__querySelector__arrtSpaceSeparated_toSafe = /~=/g//Note: Use with "@="
+ , RE__querySelector__arrtSpaceSeparated_toSafe = /~=/g//Note: Use with "@="
/** @type {RegExp} @const */
- , RE__queryComplexSelector__selectorsMatcher = /(^|,|>|\+|~|\s).*?(?=[,>+~\s]|$)/g
+ , RE__queryComplexSelector__selectorsMatcher = /(^|,|>|\+|~|\s).*?(?=[,>+~\s]|$)/g
/*TODO::CSS4 Reference combinator
, RE__queryComplexSelector__selectorsMatcher = /(^|,|\>|\+|~|\/| ).*?(?=[,>+~/ ]|$)/g
*/
/** @type {RegExp} @const */
- , RE__querySelector__dottes = /\./g
+ , RE__querySelector__dottes = /\./g
/** @type {RegExp} @const */
- , RE__queryCompoundSelector__spaces = /\s/g
+ , RE__queryCompoundSelector__spaces = /\s/g
/** @type {RegExp} @const */
- , RE__queryCompoundSelector__selectorMatch = /^([,>+~\s])?([\w\-\|\*]*)#?([\w-]*)((?:\.?[\w-])*)(\[.+\])?(?::([^!]+))?(!)?$////^([,>+~ ])?(\$)?([\w\-\|\*]*)\#?([\w-]*)((?:\.?[\w-])*)(\[.+\])?(?:\:(.+))?$/
+ , RE__queryCompoundSelector__selectorMatch = /^([,>+~\s])?([\w\-\|\*]*)#?([\w-]*)((?:\.?[\w-])*)(\[.+\])?(?::([^!]+))?(!)?$////^([,>+~ ])?(\$)?([\w\-\|\*]*)\#?([\w-]*)((?:\.?[\w-])*)(\[.+\])?(?:\:(.+))?$/
/*TODO::CSS4 Reference combinator
, RE__queryCompoundSelector__selectorMatch = /^([,>+~/ ])?(\$)?([\w\-\|\*]*)\#?([\w-]*)((?:\.?[\w-])*)(\[.+\])?(?:\:(.+))?$/*/
/** @type {RegExp} @const */
- , RE__queryCompoundSelector__attrMatcher = /^\[?['"]?(.*?)['"]?(?:([\*~&\^\$@!]?=)['"]?(.*?)['"]?)?\]?$/
+ , RE__queryCompoundSelector__attrMatcher = /^\[?['"]?(.*?)['"]?(?:([\*~&\^\$@!]?=)['"]?(.*?)['"]?)?\]?$/
/** @type {RegExp} @const */
- , RE__queryCompoundSelector__pseudoMatcher = /^([^(]+)(?:\((.+)\))?$/
+ , RE__queryCompoundSelector__pseudoMatcher = /^([^(]+)(?:\((.+)\))?$/
/** @type {RegExp} @const */
- , RE__queryCompoundSelector__pseudoNthChildPlus = /\-child\((\dn)\+(\d)\)/g//Note: Use with "-child\($1%$2\)"
+ , RE__queryCompoundSelector__pseudoNthChildPlus = /\-child\((\dn)\+(\d)\)/g//Note: Use with "-child\($1%$2\)"
/** @type {string} @const */
- , STRING_FOR_RE__queryCompoundSelector__pseudoNthChildPlus = "-child\\($1%$2\\)"
+ , STRING_FOR_RE__queryCompoundSelector__pseudoNthChildPlus = "-child\\($1%$2\\)"
/** @type {RegExp} @const */
- , RE__queryCompoundSelector__pseudoNthChildMatcher = /(?:([-]?\d*)n)?(?:(%|-)(\d*))?//* regexpt from jass 0.3.9 (http://yass.webo.in/) rev. 371 line 181 ( mod === 'nth-last-child' ?...) */
+ , RE__queryCompoundSelector__pseudoNthChildMatcher = /(?:([-]?\d*)n)?(?:(%|-)(\d*))?//* regexpt from jass 0.3.9 (http://yass.webo.in/) rev. 371 line 181 ( mod === 'nth-last-child' ?...) */
/** @type {RegExp} @const */
- , RE__matchSelector__isNotSimpleSelector = /([,>+~\s])/
+ , RE__matchSelector__isNotSimpleSelector = /([,>+~\s])/
/** @const @type {RegExp} */
- , RE__left_spaces = /^\s+/
+ , RE__left_spaces = /^\s+/
/** @const @type {RegExp} */
- , RE__space = /\s/
+ , RE__space = /\s/
/** @const @type {RegExp} */
- , RE__not_a_number = /\D/
+ , RE__not_a_number = /\D/
/** @const @type {RegExp} */
- , RE__quotes = /['"]/
+ , RE__quotes = /['"]/
/** @type {Object} @const */
- , SELECTOR_COMBINATOR_MAP = {
- "" : 1,
- "," : 1,
- ">" : 2,
- "~" : 3,
- "+" : 4/*, TODO::CSS4 Reference combinator
- "/" : 5//CSS4 Reference combinator
- */
- }
+ , SELECTOR_COMBINATOR_MAP = {
+ "" : 1,
+ "," : 1,
+ ">" : 2,
+ "~" : 3,
+ "+" : 4/*, TODO::CSS4 Reference combinator
+ "/" : 5//CSS4 Reference combinator
+ */
+ }
/** @enum {number} @const */
- , SELECTOR_ATTR_OPERATIONS_MAP = {
- "" : 1,
- '=' : 2,
- '&=' : 3,
- '^=' : 4,
- '$=' : 5,
- '*=' : 6,
- '|=' : 7,
- '!=' : 8,
- '@=' : 9//this is '~='
- }
+ , SELECTOR_ATTR_OPERATIONS_MAP = {
+ "" : 1,
+ '=' : 2,
+ '&=' : 3,
+ '^=' : 4,
+ '$=' : 5,
+ '*=' : 6,
+ '|=' : 7,
+ '!=' : 8,
+ '@=' : 9//this is '~='
+ }
/** @enum {number} @const */
- , SELECTOR_PSEUDOS_MAP = {
- 'nth-child' : 0,
- 'nth-last-child' : 1,
- 'only-child' : 2,
- 'first-child' : 3,
- 'last-child' : 4,
- 'root' : 5,
- 'empty' : 6,
- 'checked' : 7,
- 'lang' : 8,
- 'enabled' : 9,
- 'disabled' : 10,
- 'selected' : 11,
- 'contains' : 12,
- 'not' : 13,
- 'matches' : 14,//TODO:: ":-moz-any", ":-webkit-any"
- 'read-only' : 15, //http://www.w3.org/TR/selectors4/#rw-pseudos
- 'read-write' : 16, //http://www.w3.org/TR/selectors4/#rw-pseudos
- 'scope' : 17,
- 'focus' : 18,
-
- //TODO now::
- 'nth-match' : 19,
- 'column' : 20,
- 'nth-column' : 21
-
- //TODO::
- /*'first-of-type' : 18,
- 'nth-of-type' : 19,
- 'only-of-type' : 20,
- 'nth-last-of-type' : 21,
- 'last-of-type' : 22*/
- /*
- TODO:: http://css4-selectors.com/selector/css4/
- 'scope' : 17,
- 'dir' ???
- 'nth-match'//nth-match(n of selector) | an E element, the n-th sibling matching selector
- 'nth-last-match'//nth-last-match(n of selector) | an E element, the n-th sibling matching selector, counting from the last one
- 'indeterminate' : 16,
- 'default' : 17,
- 'valid': 18,
- 'invalid' : 19,
- 'in-range' : 20, //http://www.w3.org/TR/selectors4/#range-pseudos
- 'out-of-range' : 20, //http://www.w3.org/TR/selectors4/#range-pseudos
- 'required' : 20, //http://www.w3.org/TR/selectors4/#opt-pseudos
- 'optional' : 20, //http://www.w3.org/TR/selectors4/#opt-pseudos
- 'column' : 20, //http://www.w3.org/TR/selectors4/#column-pseudo
- 'nth-column' :20, //http://www.w3.org/TR/selectors4/#nth-column-pseudo
- 'nth-last-column' : 20, //http://www.w3.org/TR/selectors4/#nth-last-column-pseudo
- 'current' : 20, //http://www.w3.org/TR/selectors4/#current-pseudo
- 'past' : 20, //http://www.w3.org/TR/selectors4/#past-pseudo
- 'future' : 20 //http://www.w3.org/TR/selectors4/#future-pseudo
- */
- }
+ , SELECTOR_PSEUDOS_MAP = {
+ 'nth-child' : 0,
+ 'nth-last-child' : 1,
+ 'only-child' : 2,
+ 'first-child' : 3,
+ 'last-child' : 4,
+ 'root' : 5,
+ 'empty' : 6,
+ 'checked' : 7,
+ 'lang' : 8,
+ 'enabled' : 9,
+ 'disabled' : 10,
+ 'selected' : 11,
+ 'contains' : 12,
+ 'not' : 13,
+ 'matches' : 14,//TODO:: ":-moz-any", ":-webkit-any"
+ 'read-only' : 15, //http://www.w3.org/TR/selectors4/#rw-pseudos
+ 'read-write' : 16, //http://www.w3.org/TR/selectors4/#rw-pseudos
+ 'scope' : 17,
+ 'focus' : 18,
+
+ //TODO now::
+ 'nth-match' : 19,
+ 'column' : 20,
+ 'nth-column' : 21
+
+ //TODO::
+ /*'first-of-type' : 18,
+ 'nth-of-type' : 19,
+ 'only-of-type' : 20,
+ 'nth-last-of-type' : 21,
+ 'last-of-type' : 22*/
+ /*
+ TODO:: http://css4-selectors.com/selector/css4/
+ 'scope' : 17,
+ 'dir' ???
+ 'nth-match'//nth-match(n of selector) | an E element, the n-th sibling matching selector
+ 'nth-last-match'//nth-last-match(n of selector) | an E element, the n-th sibling matching selector, counting from the last one
+ 'indeterminate' : 16,
+ 'default' : 17,
+ 'valid': 18,
+ 'invalid' : 19,
+ 'in-range' : 20, //http://www.w3.org/TR/selectors4/#range-pseudos
+ 'out-of-range' : 20, //http://www.w3.org/TR/selectors4/#range-pseudos
+ 'required' : 20, //http://www.w3.org/TR/selectors4/#opt-pseudos
+ 'optional' : 20, //http://www.w3.org/TR/selectors4/#opt-pseudos
+ 'column' : 20, //http://www.w3.org/TR/selectors4/#column-pseudo
+ 'nth-column' :20, //http://www.w3.org/TR/selectors4/#nth-column-pseudo
+ 'nth-last-column' : 20, //http://www.w3.org/TR/selectors4/#nth-last-column-pseudo
+ 'current' : 20, //http://www.w3.org/TR/selectors4/#current-pseudo
+ 'past' : 20, //http://www.w3.org/TR/selectors4/#past-pseudo
+ 'future' : 20 //http://www.w3.org/TR/selectors4/#future-pseudo
+ */
+ }
// boolean attributes should return attribute name instead of true/false | From nwmatcher
- , ATTRIBUTE_BOOLEAN = {
- 'checked': null,
- 'disabled': null,
- 'ismap': null,
- 'multiple': null,
- 'readonly': null,
- 'selected': null
- }
+ , ATTRIBUTE_BOOLEAN = {
+ 'checked': null,
+ 'disabled': null,
+ 'ismap': null,
+ 'multiple': null,
+ 'readonly': null,
+ 'selected': null
+ }
// dynamic attributes that needs to be checked against original HTML value | From nwmatcher
- , ATTRIBUTE_DEFAULT = {
- value: 'defaultValue',
- checked: 'defaultChecked',
- selected: 'defaultSelected'
- }
+ , ATTRIBUTE_DEFAULT = {
+ value: 'defaultValue',
+ checked: 'defaultChecked',
+ selected: 'defaultSelected'
+ }
// attribute referencing URI data values need special treatment in IE | From nwmatcher
- , ATTRIBUTE_URIDATA = __GCC__ONLY_FOR_IELT8_BUILD__ && {
- 'action': null,
- 'cite': null,
- 'codebase': null,
- 'data': null,
- 'href': null,
- 'longdesc': null,
- 'lowsrc': null,
- 'src': null,
- 'usemap': null
- }
+ , ATTRIBUTE_URIDATA = __GCC__ONLY_FOR_IELT8_BUILD__ && {
+ 'action': null,
+ 'cite': null,
+ 'codebase': null,
+ 'data': null,
+ 'href': null,
+ 'longdesc': null,
+ 'lowsrc': null,
+ 'src': null,
+ 'usemap': null
+ }
/** @type {Node} @const */
- , _document_documentElement = document.documentElement
+ , _document_documentElement = document.documentElement
/**
* @param {(Array|NodeList|Object)} iterable
* @param {boolean=} iterable_is_sparseArray
* */
- , _NodeList_from = function(iterable, iterable_is_sparseArray) {
- //return _Array_slice.call(iterable);// 2x-4x-6x-8x time faster
- var length = iterable.length >>> 0
- , result = new _NodeList
- , args
- ;
-
- if(!__GCC__ONLY_FOR_IELT8_BUILD__ && !iterable_is_sparseArray) {
- try {
- args = _Array_slice.call(iterable);
- args.splice(0, 0, result.length, 0);
- result.splice.apply(result, args);
- }
- catch(e) { }
+ , _NodeList_from = function(iterable, iterable_is_sparseArray) {
+ //return _Array_slice.call(iterable);// 2x-4x-6x-8x time faster
+ var length = iterable.length >>> 0
+ , result = new _NodeList
+ , args
+ ;
- if(result && result.length === length)return result;
- /*else if(result.length > length) {
- result = new _NodeList;
- }*/
+ if(!__GCC__ONLY_FOR_IELT8_BUILD__ && !iterable_is_sparseArray) {
+ try {
+ args = _Array_slice.call(iterable);
+ args.splice(0, 0, result.length, 0);
+ result.splice.apply(result, args);
}
+ catch(e) { }
- for(var key = 0 ; key < length ; ++key) {
- if(key in iterable)
- result.push(iterable[key]);
- }
+ if(result && result.length === length)return result;
+ /*else if(result.length > length) {
+ result = new _NodeList;
+ }*/
+ }
- return result;
+ for(var key = 0 ; key < length ; ++key) {
+ if(key in iterable)
+ result.push(iterable[key]);
}
- , _can_useGetElementsByName_as_getElementById = __GCC__ONLY_FOR_IELT8_BUILD__ ?
- true
- :
- (function() {//TODO:: realy need this? For that browser?
- var result = false,
- uiid = "_" + Math.random(),
- tempNode = document.createElement("br");
+ return result;
+ }
+ , _can_useGetElementsByName_as_getElementById = __GCC__ONLY_FOR_IELT8_BUILD__ ?
+ true
+ :
+ (function() {//TODO:: realy need this? For that browser?
+ var result = false,
+ uiid = "_" + Math.random(),
+ tempNode = document.createElement("br");
- _document_documentElement.appendChild(tempNode).id = uiid;
- try {
- result = document.getElementsByName(uiid)[0].id === uiid;
- }
- catch(e) {
- result = false;
- }
- _document_documentElement.removeChild(tempNode);
- return result;
- })()
+ _document_documentElement.appendChild(tempNode).id = uiid;
+ try {
+ result = document.getElementsByName(uiid)[0].id === uiid;
+ }
+ catch(e) {
+ result = false;
+ }
+ _document_documentElement.removeChild(tempNode);
+
+ return result;
+ })()
/** @type {string} */
- , sourceIndex_propertyName = "sourceIndex"
+ , sourceIndex_propertyName = "sourceIndex"
/** @type {boolean} @const */
- , nodeSourceIndex_support = __GCC__ONLY_FOR_IELT8_BUILD__ ?
- true
- :
- sourceIndex_propertyName in _document_documentElement && !("opera" in global)//Old Opera has very slow 'sourceIndex'
+ , nodeSourceIndex_support = __GCC__ONLY_FOR_IELT8_BUILD__ ?
+ true
+ :
+ sourceIndex_propertyName in _document_documentElement && !("opera" in global)//Old Opera has very slow 'sourceIndex'
/** @type {number} */
- , UUID = 1
+ , UUID = 1
- , getNextElement = "nextElementSibling" in _document_documentElement ?
- function(node) {
- return node.nextElementSibling;
- }
- :
- function(node) {
- while((node = node.nextSibling) && node.nodeType != 1) {}
- return node;
- }
+ , getNextElement = "nextElementSibling" in _document_documentElement ?
+ function(node) {
+ return node.nextElementSibling;
+ }
+ :
+ function(node) {
+ while((node = node.nextSibling) && node.nodeType != 1) {}
+ return node;
+ }
/**
* @const
@@ -306,1184 +306,1189 @@ var __GCC__IE_SHIMED_GET_ATTRIBUTE_SUPPORT__ = true;
* For system use only
* More standart solution in a.js
*/
- , _String_trim = String.prototype.trim || function () {
- var str = this.replace(RE__left_spaces, ''),
- i = str.length;
- while (RE__space.test(str.charAt(--i))){};
- return str.slice(0, i + 1);
- }
+ , _String_trim = String.prototype.trim || function () {
+ var str = this.replace(RE__left_spaces, ''),
+ i = str.length;
+ while (RE__space.test(str.charAt(--i))){};
+ return str.slice(0, i + 1);
+ }
/** @const */
- , _String_split = String.prototype.split
+ , _String_split = String.prototype.split
/** @const */
- , _Array_slice = Array.prototype.slice
+ , _Array_slice = Array.prototype.slice
- , _shim_getElementsByClassName
+ , _shim_getElementsByClassName
- , tmp
+ , tmp
- , native_getElementsByClassName = __GCC__ONLY_FOR_IELT8_BUILD__ ?
- null
- :
- (tmp = _document_documentElement.getElementsByClassName) && ((tmp + "").length < 80) && tmp
+ , native_getElementsByClassName = __GCC__ONLY_FOR_IELT8_BUILD__ ?
+ null
+ :
+ (tmp = _document_documentElement.getElementsByClassName) && ((tmp + "").length < 80) && tmp
- , _NodeList
+ , _NodeList
- , _matchesSelector
+ , _matchesSelector
- , _getAttribute
+ , _getAttribute
/** @const */
- , _Function_call = Function.prototype.call
+ , _Function_call = Function.prototype.call
/** @const */
- , native_querySelector = !__GCC__IS_DEBUG__ && _document_documentElement.querySelector
+ , native_querySelector = !__GCC__IS_DEBUG__ && _document_documentElement.querySelector
/** @const */
- , native_querySelectorAll = !__GCC__IS_DEBUG__ && _document_documentElement.querySelectorAll
+ , native_querySelectorAll = !__GCC__IS_DEBUG__ && _document_documentElement.querySelectorAll
/** @const */
- , document_native_querySelector = !__GCC__IS_DEBUG__ && document.querySelector
+ , document_native_querySelector = !__GCC__IS_DEBUG__ && document.querySelector
/** @const */
- , document_native_querySelectorAll = !__GCC__IS_DEBUG__ && document.querySelectorAll
+ , document_native_querySelectorAll = !__GCC__IS_DEBUG__ && document.querySelectorAll
- , IS_QUERY_SELECTOR_SUPPORT_REF_NODES = false
+ , IS_QUERY_SELECTOR_SUPPORT_REF_NODES = false
//, IS_QUERY_SELECTOR_HAVE_TRUE_SCOPE_SUPPORT = false
- , IS_GET_ATTRIBUTE_BUGGY = // detect IE bug with dynamic attributes | From nwmatcher
- (function() {
- var input = document.createElement('input');
- input.setAttribute('value', 5);
- return input.defaultValue != 5;
- })()
- ;
-
- if(!__GCC__ONLY_FOR_IELT8_BUILD__ && document_native_querySelector) {
- tmp = document.createElement("b");
- tmp.uuid = "_" + +new Date();
- tmp.innerHTML = "t";
-
- (IS_QUERY_SELECTOR_SUPPORT_REF_NODES = document_native_querySelector.call(document, "#" + tmp.uuid, tmp)) &&
- (IS_QUERY_SELECTOR_SUPPORT_REF_NODES = IS_QUERY_SELECTOR_SUPPORT_REF_NODES.innerHTML == "t") ||
- (IS_QUERY_SELECTOR_SUPPORT_REF_NODES = false);
-
- //Google Chrome have wrong implementation of :scope pseudo class
- /*TODO::
- try {
- IS_QUERY_SELECTOR_HAVE_TRUE_SCOPE_SUPPORT = native_querySelector.call(tmp, ":scope>i");
- IS_QUERY_SELECTOR_HAVE_TRUE_SCOPE_SUPPORT = IS_QUERY_SELECTOR_HAVE_TRUE_SCOPE_SUPPORT && IS_QUERY_SELECTOR_HAVE_TRUE_SCOPE_SUPPORT.innerHTML == "t";
- }
- catch(e) {
- IS_QUERY_SELECTOR_HAVE_TRUE_SCOPE_SUPPORT = false
- }
- */
+ , IS_GET_ATTRIBUTE_BUGGY = // detect IE bug with dynamic attributes | From nwmatcher
+ (function() {
+ var input = document.createElement('input');
+ input.setAttribute('value', 5);
+ return input.defaultValue != 5;
+ })()
+;
+
+if(!__GCC__ONLY_FOR_IELT8_BUILD__ && document_native_querySelector) {
+ tmp = document.createElement("b");
+ tmp.uuid = "_" + +new Date();
+ tmp.innerHTML = "t";
+
+ (IS_QUERY_SELECTOR_SUPPORT_REF_NODES = document_native_querySelector.call(document, "#" + tmp.uuid, tmp)) &&
+ (IS_QUERY_SELECTOR_SUPPORT_REF_NODES = IS_QUERY_SELECTOR_SUPPORT_REF_NODES.innerHTML == "t") ||
+ (IS_QUERY_SELECTOR_SUPPORT_REF_NODES = false);
+
+ //Google Chrome have wrong implementation of :scope pseudo class
+ /*TODO::
+ try {
+ IS_QUERY_SELECTOR_HAVE_TRUE_SCOPE_SUPPORT = native_querySelector.call(tmp, ":scope>i");
+ IS_QUERY_SELECTOR_HAVE_TRUE_SCOPE_SUPPORT = IS_QUERY_SELECTOR_HAVE_TRUE_SCOPE_SUPPORT && IS_QUERY_SELECTOR_HAVE_TRUE_SCOPE_SUPPORT.innerHTML == "t";
}
+ catch(e) {
+ IS_QUERY_SELECTOR_HAVE_TRUE_SCOPE_SUPPORT = false
+ }
+ */
+}
//_NodeList.prototype
- if(__GCC__QUERY_SELECTOR_ALL_RESULT_AS_NODE_LIST_AND_NODE_LIST_POLYFILL__) {
- /** @constructor */
- _NodeList = function() {};
- _NodeList.prototype = new Array;
-
- tmp = new _NodeList;
- tmp.push(1);
- if(!tmp.length && !("NodeList" in global)) {//Internet Explorer refuses to maintain the length property of a subclass created like this | http://dean.edwards.name/weblog/2006/11/hooray/
- // create an