tt-rss/lib/dojo/_base/query-sizzle.js
2010-11-15 10:39:52 +03:00

628 lines
13 KiB
JavaScript

/*
Copyright (c) 2004-2010, The Dojo Foundation All Rights Reserved.
Available via Academic Free License >= 2.1 OR the modified BSD license.
see: http://dojotoolkit.org/license for details
*/
if(!dojo._hasResource["dojo._base.query"]){
dojo._hasResource["dojo._base.query"]=true;
if(typeof dojo!="undefined"){
dojo.provide("dojo._base.query");
dojo.require("dojo._base.NodeList");
dojo.query=function(_1,_2,_3){
_3=_3||dojo.NodeList;
if(!_1){
return new _3();
}
if(_1.constructor==_3){
return _1;
}
if(!dojo.isString(_1)){
return new _3(_1);
}
if(dojo.isString(_2)){
_2=dojo.byId(_2);
if(!_2){
return new _3();
}
}
return dojo.Sizzle(_1,_2,new _3());
};
dojo._filterQueryResult=function(_4,_5){
return dojo.Sizzle.filter(_5,_4);
};
}
(function(ns){
var _6=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|[^[\]]+)+\]|\\.|[^ >+~,(\[]+)+|[>+~])(\s*,\s*)?/g,_7=0,_8=Object.prototype.toString;
var _9=function(_a,_b,_c,_d){
_c=_c||[];
_b=_b||document;
if(_b.nodeType!==1&&_b.nodeType!==9){
return [];
}
if(!_a||typeof _a!=="string"){
return _c;
}
var _e=[],m,_f,_10,_11,_12,_13,_14=true;
_6.lastIndex=0;
while((m=_6.exec(_a))!==null){
_e.push(m[1]);
if(m[2]){
_13=RegExp.rightContext;
break;
}
}
if(_e.length>1&&_15.match.POS.exec(_a)){
if(_e.length===2&&_15.relative[_e[0]]){
var _16="",_17;
while((_17=_15.match.POS.exec(_a))){
_16+=_17[0];
_a=_a.replace(_15.match.POS,"");
}
_f=_9.filter(_16,_9(_a,_b));
}else{
_f=_15.relative[_e[0]]?[_b]:_9(_e.shift(),_b);
while(_e.length){
var _18=[];
_a=_e.shift();
if(_15.relative[_a]){
_a+=_e.shift();
}
for(var i=0,l=_f.length;i<l;i++){
_9(_a,_f[i],_18);
}
_f=_18;
}
}
}else{
var ret=_d?{expr:_e.pop(),set:_19(_d)}:_9.find(_e.pop(),_e.length===1&&_b.parentNode?_b.parentNode:_b);
_f=_9.filter(ret.expr,ret.set);
if(_e.length>0){
_10=_19(_f);
}else{
_14=false;
}
while(_e.length){
var cur=_e.pop(),pop=cur;
if(!_15.relative[cur]){
cur="";
}else{
pop=_e.pop();
}
if(pop==null){
pop=_b;
}
_15.relative[cur](_10,pop);
}
}
if(!_10){
_10=_f;
}
if(!_10){
throw "Syntax error, unrecognized expression: "+(cur||_a);
}
if(_8.call(_10)==="[object Array]"){
if(!_14){
_c.push.apply(_c,_10);
}else{
if(_b.nodeType===1){
for(var i=0;_10[i]!=null;i++){
if(_10[i]&&(_10[i]===true||_10[i].nodeType===1&&_1a(_b,_10[i]))){
_c.push(_f[i]);
}
}
}else{
for(var i=0;_10[i]!=null;i++){
if(_10[i]&&_10[i].nodeType===1){
_c.push(_f[i]);
}
}
}
}
}else{
_19(_10,_c);
}
if(_13){
_9(_13,_b,_c,_d);
}
return _c;
};
_9.matches=function(_1b,set){
return _9(_1b,null,null,set);
};
_9.find=function(_1c,_1d){
var set,_1e;
if(!_1c){
return [];
}
for(var i=0,l=_15.order.length;i<l;i++){
var _1f=_15.order[i],_1e;
if((_1e=_15.match[_1f].exec(_1c))){
var _20=RegExp.leftContext;
if(_20.substr(_20.length-1)!=="\\"){
_1e[1]=(_1e[1]||"").replace(/\\/g,"");
set=_15.find[_1f](_1e,_1d);
if(set!=null){
_1c=_1c.replace(_15.match[_1f],"");
break;
}
}
}
}
if(!set){
set=_1d.getElementsByTagName("*");
}
return {set:set,expr:_1c};
};
_9.filter=function(_21,set,_22,not){
var old=_21,_23=[],_24=set,_25,_26;
while(_21&&set.length){
for(var _27 in _15.filter){
if((_25=_15.match[_27].exec(_21))!=null){
var _28=_15.filter[_27],_29=null,_2a=0,_2b,_2c;
_26=false;
if(_24==_23){
_23=[];
}
if(_15.preFilter[_27]){
_25=_15.preFilter[_27](_25,_24,_22,_23,not);
if(!_25){
_26=_2b=true;
}else{
if(_25[0]===true){
_29=[];
var _2d=null,_2e;
for(var i=0;(_2e=_24[i])!==undefined;i++){
if(_2e&&_2d!==_2e){
_29.push(_2e);
_2d=_2e;
}
}
}
}
}
if(_25){
for(var i=0;(_2c=_24[i])!==undefined;i++){
if(_2c){
if(_29&&_2c!=_29[_2a]){
_2a++;
}
_2b=_28(_2c,_25,_2a,_29);
var _2f=not^!!_2b;
if(_22&&_2b!=null){
if(_2f){
_26=true;
}else{
_24[i]=false;
}
}else{
if(_2f){
_23.push(_2c);
_26=true;
}
}
}
}
}
if(_2b!==undefined){
if(!_22){
_24=_23;
}
_21=_21.replace(_15.match[_27],"");
if(!_26){
return [];
}
break;
}
}
}
_21=_21.replace(/\s*,\s*/,"");
if(_21==old){
if(_26==null){
throw "Syntax error, unrecognized expression: "+_21;
}else{
break;
}
}
old=_21;
}
return _24;
};
var _15=_9.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u0128-\uFFFF_-]|\\.)+)/,CLASS:/\.((?:[\w\u0128-\uFFFF_-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u0128-\uFFFF_-]|\\.)+)['"]*\]/,ATTR:/\[((?:[\w\u0128-\uFFFF_-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\]/,TAG:/^((?:[\w\u0128-\uFFFF\*_-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child\(?(even|odd|[\dn+-]*)\)?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)\(?(\d*)\)?(?:[^-]|$)/,PSEUDO:/:((?:[\w\u0128-\uFFFF_-]|\\.)+)(?:\((['"]*)((?:\([^\)]+\)|[^\2\(\)]*)+)\2\))?/},attrMap:{"class":"className","for":"htmlFor"},relative:{"+":function(_30,_31){
for(var i=0,l=_30.length;i<l;i++){
var _32=_30[i];
if(_32){
var cur=_32.previousSibling;
while(cur&&cur.nodeType!==1){
cur=cur.previousSibling;
}
_30[i]=typeof _31==="string"?cur||false:cur===_31;
}
}
if(typeof _31==="string"){
_9.filter(_31,_30,true);
}
},">":function(_33,_34){
if(typeof _34==="string"&&!/\W/.test(_34)){
_34=_34.toUpperCase();
for(var i=0,l=_33.length;i<l;i++){
var _35=_33[i];
if(_35){
var _36=_35.parentNode;
_33[i]=_36.nodeName===_34?_36:false;
}
}
}else{
for(var i=0,l=_33.length;i<l;i++){
var _35=_33[i];
if(_35){
_33[i]=typeof _34==="string"?_35.parentNode:_35.parentNode===_34;
}
}
if(typeof _34==="string"){
_9.filter(_34,_33,true);
}
}
},"":function(_37,_38){
var _39="done"+(_7++),_3a=_3b;
if(!_38.match(/\W/)){
var _3c=_38=_38.toUpperCase();
_3a=_3d;
}
_3a("parentNode",_38,_39,_37,_3c);
},"~":function(_3e,_3f){
var _40="done"+(_7++),_41=_3b;
if(typeof _3f==="string"&&!_3f.match(/\W/)){
var _42=_3f=_3f.toUpperCase();
_41=_3d;
}
_41("previousSibling",_3f,_40,_3e,_42);
}},find:{ID:function(_43,_44){
if(_44.getElementById){
var m=_44.getElementById(_43[1]);
return m?[m]:[];
}
},NAME:function(_45,_46){
return _46.getElementsByName?_46.getElementsByName(_45[1]):null;
},TAG:function(_47,_48){
return _48.getElementsByTagName(_47[1]);
}},preFilter:{CLASS:function(_49,_4a,_4b,_4c,not){
_49=" "+_49[1].replace(/\\/g,"")+" ";
for(var i=0;_4a[i];i++){
if(not^(" "+_4a[i].className+" ").indexOf(_49)>=0){
if(!_4b){
_4c.push(_4a[i]);
}
}else{
if(_4b){
_4a[i]=false;
}
}
}
return false;
},ID:function(_4d){
return _4d[1];
},TAG:function(_4e){
return _4e[1].toUpperCase();
},CHILD:function(_4f){
if(_4f[1]=="nth"){
var _50=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(_4f[2]=="even"&&"2n"||_4f[2]=="odd"&&"2n+1"||!/\D/.test(_4f[2])&&"0n+"+_4f[2]||_4f[2]);
_4f[2]=(_50[1]+(_50[2]||1))-0;
_4f[3]=_50[3]-0;
}
_4f[0]="done"+(_7++);
return _4f;
},ATTR:function(_51){
var _52=_51[1];
if(_15.attrMap[_52]){
_51[1]=_15.attrMap[_52];
}
if(_51[2]==="~="){
_51[4]=" "+_51[4]+" ";
}
return _51;
},PSEUDO:function(_53,_54,_55,_56,not){
if(_53[1]==="not"){
if(_53[3].match(_6).length>1){
_53[3]=_9(_53[3],null,null,_54);
}else{
var ret=_9.filter(_53[3],_54,_55,true^not);
if(!_55){
_56.push.apply(_56,ret);
}
return false;
}
}
return _53;
},POS:function(_57){
_57.unshift(true);
return _57;
}},filters:{enabled:function(_58){
return _58.disabled===false&&_58.type!=="hidden";
},disabled:function(_59){
return _59.disabled===true;
},checked:function(_5a){
return _5a.checked===true;
},selected:function(_5b){
_5b.parentNode.selectedIndex;
return _5b.selected===true;
},parent:function(_5c){
return !!_5c.firstChild;
},empty:function(_5d){
return !_5d.firstChild;
},has:function(_5e,i,_5f){
return !!_9(_5f[3],_5e).length;
},header:function(_60){
return /h\d/i.test(_60.nodeName);
},text:function(_61){
return "text"===_61.type;
},radio:function(_62){
return "radio"===_62.type;
},checkbox:function(_63){
return "checkbox"===_63.type;
},file:function(_64){
return "file"===_64.type;
},password:function(_65){
return "password"===_65.type;
},submit:function(_66){
return "submit"===_66.type;
},image:function(_67){
return "image"===_67.type;
},reset:function(_68){
return "reset"===_68.type;
},button:function(_69){
return "button"===_69.type||_69.nodeName.toUpperCase()==="BUTTON";
},input:function(_6a){
return /input|select|textarea|button/i.test(_6a.nodeName);
}},setFilters:{first:function(_6b,i){
return i===0;
},last:function(_6c,i,_6d,_6e){
return i===_6e.length-1;
},even:function(_6f,i){
return i%2===0;
},odd:function(_70,i){
return i%2===1;
},lt:function(_71,i,_72){
return i<_72[3]-0;
},gt:function(_73,i,_74){
return i>_74[3]-0;
},nth:function(_75,i,_76){
return _76[3]-0==i;
},eq:function(_77,i,_78){
return _78[3]-0==i;
}},filter:{CHILD:function(_79,_7a){
var _7b=_7a[1],_7c=_79.parentNode;
var _7d=_7a[0];
if(_7c&&!_7c[_7d]){
var _7e=1;
for(var _7f=_7c.firstChild;_7f;_7f=_7f.nextSibling){
if(_7f.nodeType==1){
_7f.nodeIndex=_7e++;
}
}
_7c[_7d]=_7e-1;
}
if(_7b=="first"){
return _79.nodeIndex==1;
}else{
if(_7b=="last"){
return _79.nodeIndex==_7c[_7d];
}else{
if(_7b=="only"){
return _7c[_7d]==1;
}else{
if(_7b=="nth"){
var add=false,_80=_7a[2],_81=_7a[3];
if(_80==1&&_81==0){
return true;
}
if(_80==0){
if(_79.nodeIndex==_81){
add=true;
}
}else{
if((_79.nodeIndex-_81)%_80==0&&(_79.nodeIndex-_81)/_80>=0){
add=true;
}
}
return add;
}
}
}
}
},PSEUDO:function(_82,_83,i,_84){
var _85=_83[1],_86=_15.filters[_85];
if(_86){
return _86(_82,i,_83,_84);
}else{
if(_85==="contains"){
return (_82.textContent||_82.innerText||"").indexOf(_83[3])>=0;
}else{
if(_85==="not"){
var not=_83[3];
for(var i=0,l=not.length;i<l;i++){
if(not[i]===_82){
return false;
}
}
return true;
}
}
}
},ID:function(_87,_88){
return _87.nodeType===1&&_87.getAttribute("id")===_88;
},TAG:function(_89,_8a){
return (_8a==="*"&&_89.nodeType===1)||_89.nodeName===_8a;
},CLASS:function(_8b,_8c){
return _8c.test(_8b.className);
},ATTR:function(_8d,_8e){
var _8f=_8d[_8e[1]]||_8d.getAttribute(_8e[1]),_90=_8f+"",_91=_8e[2],_92=_8e[4];
return _8f==null?false:_91==="="?_90===_92:_91==="*="?_90.indexOf(_92)>=0:_91==="~="?(" "+_90+" ").indexOf(_92)>=0:!_8e[4]?_8f:_91==="!="?_90!=_92:_91==="^="?_90.indexOf(_92)===0:_91==="$="?_90.substr(_90.length-_92.length)===_92:_91==="|="?_90===_92||_90.substr(0,_92.length+1)===_92+"-":false;
},POS:function(_93,_94,i,_95){
var _96=_94[2],_97=_15.setFilters[_96];
if(_97){
return _97(_93,i,_94,_95);
}
}}};
for(var _98 in _15.match){
_15.match[_98]=RegExp(_15.match[_98].source+/(?![^\[]*\])(?![^\(]*\))/.source);
}
var _19=function(_99,_9a){
_99=Array.prototype.slice.call(_99);
if(_9a){
_9a.push.apply(_9a,_99);
return _9a;
}
return _99;
};
try{
Array.prototype.slice.call(document.documentElement.childNodes);
}
catch(e){
_19=function(_9b,_9c){
var ret=_9c||[];
if(_8.call(_9b)==="[object Array]"){
Array.prototype.push.apply(ret,_9b);
}else{
if(typeof _9b.length==="number"){
for(var i=0,l=_9b.length;i<l;i++){
ret.push(_9b[i]);
}
}else{
for(var i=0;_9b[i];i++){
ret.push(_9b[i]);
}
}
}
return ret;
};
}
(function(){
var _9d=document.createElement("form"),id="script"+(new Date).getTime();
_9d.innerHTML="<input name='"+id+"'/>";
var _9e=document.documentElement;
_9e.insertBefore(_9d,_9e.firstChild);
if(!!document.getElementById(id)){
_15.find.ID=function(_9f,_a0){
if(_a0.getElementById){
var m=_a0.getElementById(_9f[1]);
return m?m.id===_9f[1]||m.getAttributeNode&&m.getAttributeNode("id").nodeValue===_9f[1]?[m]:undefined:[];
}
};
_15.filter.ID=function(_a1,_a2){
var _a3=_a1.getAttributeNode&&_a1.getAttributeNode("id");
return _a1.nodeType===1&&_a3&&_a3.nodeValue===_a2;
};
}
_9e.removeChild(_9d);
})();
(function(){
var div=document.createElement("div");
div.appendChild(document.createComment(""));
if(div.getElementsByTagName("*").length>0){
_15.find.TAG=function(_a4,_a5){
var _a6=_a5.getElementsByTagName(_a4[1]);
if(_a4[1]==="*"){
var tmp=[];
for(var i=0;_a6[i];i++){
if(_a6[i].nodeType===1){
tmp.push(_a6[i]);
}
}
_a6=tmp;
}
return _a6;
};
}
})();
if(document.querySelectorAll){
(function(){
var _a7=_9;
_9=function(_a8,_a9,_aa,_ab){
_a9=_a9||document;
if(!_ab&&_a9.nodeType===9){
try{
return _19(_a9.querySelectorAll(_a8),_aa);
}
catch(e){
}
}
return _a7(_a8,_a9,_aa,_ab);
};
_9.find=_a7.find;
_9.filter=_a7.filter;
_9.selectors=_a7.selectors;
_9.matches=_a7.matches;
})();
}
if(document.documentElement.getElementsByClassName){
_15.order.splice(1,0,"CLASS");
_15.find.CLASS=function(_ac,_ad){
return _ad.getElementsByClassName(_ac[1]);
};
}
function _3d(dir,cur,_ae,_af,_b0){
for(var i=0,l=_af.length;i<l;i++){
var _b1=_af[i];
if(_b1){
_b1=_b1[dir];
var _b2=false;
while(_b1&&_b1.nodeType){
var _b3=_b1[_ae];
if(_b3){
_b2=_af[_b3];
break;
}
if(_b1.nodeType===1){
_b1[_ae]=i;
}
if(_b1.nodeName===cur){
_b2=_b1;
break;
}
_b1=_b1[dir];
}
_af[i]=_b2;
}
}
};
function _3b(dir,cur,_b4,_b5,_b6){
for(var i=0,l=_b5.length;i<l;i++){
var _b7=_b5[i];
if(_b7){
_b7=_b7[dir];
var _b8=false;
while(_b7&&_b7.nodeType){
if(_b7[_b4]){
_b8=_b5[_b7[_b4]];
break;
}
if(_b7.nodeType===1){
_b7[_b4]=i;
if(typeof cur!=="string"){
if(_b7===cur){
_b8=true;
break;
}
}else{
if(_9.filter(cur,[_b7]).length>0){
_b8=_b7;
break;
}
}
}
_b7=_b7[dir];
}
_b5[i]=_b8;
}
}
};
var _1a=document.compareDocumentPosition?function(a,b){
return a.compareDocumentPosition(b)&16;
}:function(a,b){
return a!==b&&(a.contains?a.contains(b):true);
};
(ns||window).Sizzle=_9;
})(typeof dojo=="undefined"?null:dojo);
}