123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596 |
- if(!dojo._hasResource["dojo._base.query"]){
- dojo._hasResource["dojo._base.query"] = true;
- (function(){
- var defineQuery= function(d){
-
-
-
-
-
-
-
-
-
- var trim = d.trim;
- var each = d.forEach;
-
-
-
-
-
- var qlc = (d._NodeListCtor = d.NodeList);
- var getDoc = function(){ return d.doc; };
-
- var cssCaseBug = (getDoc().compatMode) == "BackCompat";
-
-
-
- var specials = ">~+";
-
-
-
- var caseSensitive = false;
-
- var yesman = function(){ return true; };
-
-
-
- var getQueryParts = function(query){
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- if(specials.indexOf(query.slice(-1)) >= 0){
-
-
- query += " * "
- }else{
-
-
- query += " ";
- }
- var ts = function(/*Integer*/ s, /*Integer*/ e){
-
-
-
- return trim(query.slice(s, e));
- }
-
- var queryParts = [];
-
- var inBrackets = -1, inParens = -1, inMatchFor = -1,
- inPseudo = -1, inClass = -1, inId = -1, inTag = -1,
- lc = "", cc = "", pStart;
-
- var x = 0,
- ql = query.length,
- currentPart = null,
- _cp = null;
-
-
-
-
-
-
-
-
-
-
-
- var endTag = function(){
-
-
-
- if(inTag >= 0){
- var tv = (inTag == x) ? null : ts(inTag, x);
- currentPart[ (specials.indexOf(tv) < 0) ? "tag" : "oper" ] = tv;
- inTag = -1;
- }
- }
- var endId = function(){
-
- if(inId >= 0){
- currentPart.id = ts(inId, x).replace(/\\/g, "");
- inId = -1;
- }
- }
- var endClass = function(){
-
-
-
- if(inClass >= 0){
- currentPart.classes.push(ts(inClass+1, x).replace(/\\/g, ""));
- inClass = -1;
- }
- }
- var endAll = function(){
-
- endId(); endTag(); endClass();
- }
- var endPart = function(){
- endAll();
- if(inPseudo >= 0){
- currentPart.pseudos.push({ name: ts(inPseudo+1, x) });
- }
-
-
-
-
- currentPart.loops = (
- currentPart.pseudos.length ||
- currentPart.attrs.length ||
- currentPart.classes.length );
- currentPart.oquery = currentPart.query = ts(pStart, x);
-
-
-
-
-
-
- currentPart.otag = currentPart.tag = (currentPart["oper"]) ? null : (currentPart.tag || "*");
- if(currentPart.tag){
-
-
-
-
- currentPart.tag = currentPart.tag.toUpperCase();
- }
-
- if(queryParts.length && (queryParts[queryParts.length-1].oper)){
-
-
-
- currentPart.infixOper = queryParts.pop();
- currentPart.query = currentPart.infixOper.query + " " + currentPart.query;
-
- }
- queryParts.push(currentPart);
- currentPart = null;
- }
-
-
- for(; lc=cc, cc=query.charAt(x), x < ql; x++){
-
-
-
-
- if(lc == "\\"){ continue; }
- if(!currentPart){
-
- pStart = x;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- currentPart = {
- query: null,
- pseudos: [],
- attrs: [],
- classes: [],
- tag: null,
- oper: null,
- id: null,
- getTag: function(){
- return (caseSensitive) ? this.otag : this.tag;
- }
- };
-
-
-
-
- inTag = x;
- }
- if(inBrackets >= 0){
-
- if(cc == "]"){
- if(!_cp.attr){
-
-
-
- _cp.attr = ts(inBrackets+1, x);
- }else{
-
-
- _cp.matchFor = ts((inMatchFor||inBrackets+1), x);
- }
- var cmf = _cp.matchFor;
- if(cmf){
-
-
-
- if( (cmf.charAt(0) == '"') || (cmf.charAt(0) == "'") ){
- _cp.matchFor = cmf.slice(1, -1);
- }
- }
-
- currentPart.attrs.push(_cp);
- _cp = null;
- inBrackets = inMatchFor = -1;
- }else if(cc == "="){
-
-
- var addToCc = ("|~^$*".indexOf(lc) >=0 ) ? lc : "";
- _cp.type = addToCc+cc;
- _cp.attr = ts(inBrackets+1, x-addToCc.length);
- inMatchFor = x+1;
- }
-
- }else if(inParens >= 0){
-
-
-
- if(cc == ")"){
- if(inPseudo >= 0){
- _cp.value = ts(inParens+1, x);
- }
- inPseudo = inParens = -1;
- }
- }else if(cc == "#"){
-
- endAll();
- inId = x+1;
- }else if(cc == "."){
-
- endAll();
- inClass = x;
- }else if(cc == ":"){
-
- endAll();
- inPseudo = x;
- }else if(cc == "["){
-
- endAll();
- inBrackets = x;
-
- _cp = {
-
- };
- }else if(cc == "("){
-
-
- if(inPseudo >= 0){
-
- _cp = {
- name: ts(inPseudo+1, x),
- value: null
- }
- currentPart.pseudos.push(_cp);
- }
- inParens = x;
- }else if(
- (cc == " ") &&
-
-
- (lc != cc)
- ){
- endPart();
- }
- }
- return queryParts;
- };
-
-
-
-
- var agree = function(first, second){
-
-
-
-
- if(!first){ return second; }
- if(!second){ return first; }
- return function(){
- return first.apply(window, arguments) && second.apply(window, arguments);
- }
- };
- var getArr = function(i, arr){
-
- var r = arr||[];
- if(i){ r.push(i); }
- return r;
- };
- var _isElement = function(n){ return (1 == n.nodeType); };
-
- var blank = "";
- var _getAttr = function(elem, attr){
- if(!elem){ return blank; }
- if(attr == "class"){
- return elem.className || blank;
- }
- if(attr == "for"){
- return elem.htmlFor || blank;
- }
- if(attr == "style"){
- return elem.style.cssText || blank;
- }
- return (caseSensitive ? elem.getAttribute(attr) : elem.getAttribute(attr, 2)) || blank;
- };
- var attrs = {
- "*=": function(attr, value){
- return function(elem){
-
-
-
- return (_getAttr(elem, attr).indexOf(value)>=0);
- }
- },
- "^=": function(attr, value){
-
-
-
- return function(elem){
- return (_getAttr(elem, attr).indexOf(value)==0);
- }
- },
- "$=": function(attr, value){
-
-
-
- var tval = " "+value;
- return function(elem){
- var ea = " "+_getAttr(elem, attr);
- return (ea.lastIndexOf(value)==(ea.length-value.length));
- }
- },
- "~=": function(attr, value){
-
-
-
-
-
- var tval = " "+value+" ";
- return function(elem){
- var ea = " "+_getAttr(elem, attr)+" ";
- return (ea.indexOf(tval)>=0);
- }
- },
- "|=": function(attr, value){
-
-
-
-
- var valueDash = " "+value+"-";
- return function(elem){
- var ea = " "+_getAttr(elem, attr);
- return (
- (ea == value) ||
- (ea.indexOf(valueDash)==0)
- );
- }
- },
- "=": function(attr, value){
- return function(elem){
- return (_getAttr(elem, attr) == value);
- }
- }
- };
-
-
- var _noNES = (typeof getDoc().firstChild.nextElementSibling == "undefined");
- var _ns = !_noNES ? "nextElementSibling" : "nextSibling";
- var _ps = !_noNES ? "previousElementSibling" : "previousSibling";
- var _simpleNodeTest = (_noNES ? _isElement : yesman);
- var _lookLeft = function(node){
-
- while(node = node[_ps]){
- if(_simpleNodeTest(node)){ return false; }
- }
- return true;
- };
- var _lookRight = function(node){
-
- while(node = node[_ns]){
- if(_simpleNodeTest(node)){ return false; }
- }
- return true;
- };
- var getNodeIndex = function(node){
- var root = node.parentNode;
- var i = 0,
- tret = root.children || root.childNodes,
- ci = (node["_i"]||-1),
- cl = (root["_l"]||-1);
- if(!tret){ return -1; }
- var l = tret.length;
-
-
-
- if( cl == l && ci >= 0 && cl >= 0 ){
-
- return ci;
- }
-
- root["_l"] = l;
- ci = -1;
- for(var te = root["firstElementChild"]||root["firstChild"]; te; te = te[_ns]){
- if(_simpleNodeTest(te)){
- te["_i"] = ++i;
- if(node === te){
-
-
-
-
-
-
-
-
- ci = i;
- }
- }
- }
- return ci;
- };
- var isEven = function(elem){
- return !((getNodeIndex(elem)) % 2);
- };
- var isOdd = function(elem){
- return ((getNodeIndex(elem)) % 2);
- };
- var pseudos = {
- "checked": function(name, condition){
- return function(elem){
- return !!("checked" in elem ? elem.checked : elem.selected);
- }
- },
- "first-child": function(){ return _lookLeft; },
- "last-child": function(){ return _lookRight; },
- "only-child": function(name, condition){
- return function(node){
- if(!_lookLeft(node)){ return false; }
- if(!_lookRight(node)){ return false; }
- return true;
- };
- },
- "empty": function(name, condition){
- return function(elem){
-
-
- var cn = elem.childNodes;
- var cnl = elem.childNodes.length;
-
- for(var x=cnl-1; x >= 0; x--){
- var nt = cn[x].nodeType;
- if((nt === 1)||(nt == 3)){ return false; }
- }
- return true;
- }
- },
- "contains": function(name, condition){
- var cz = condition.charAt(0);
- if( cz == '"' || cz == "'" ){
- condition = condition.slice(1, -1);
- }
- return function(elem){
- return (elem.innerHTML.indexOf(condition) >= 0);
- }
- },
- "not": function(name, condition){
- var p = getQueryParts(condition)[0];
- var ignores = { el: 1 };
- if(p.tag != "*"){
- ignores.tag = 1;
- }
- if(!p.classes.length){
- ignores.classes = 1;
- }
- var ntf = getSimpleFilterFunc(p, ignores);
- return function(elem){
- return (!ntf(elem));
- }
- },
- "nth-child": function(name, condition){
- var pi = parseInt;
-
- if(condition == "odd"){
- return isOdd;
- }else if(condition == "even"){
- return isEven;
- }
-
- if(condition.indexOf("n") != -1){
- var tparts = condition.split("n", 2);
- var pred = tparts[0] ? ((tparts[0] == '-') ? -1 : pi(tparts[0])) : 1;
- var idx = tparts[1] ? pi(tparts[1]) : 0;
- var lb = 0, ub = -1;
- if(pred > 0){
- if(idx < 0){
- idx = (idx % pred) && (pred + (idx % pred));
- }else if(idx>0){
- if(idx >= pred){
- lb = idx - idx % pred;
- }
- idx = idx % pred;
- }
- }else if(pred<0){
- pred *= -1;
-
-
- if(idx > 0){
- ub = idx;
- idx = idx % pred;
- }
- }
- if(pred > 0){
- return function(elem){
- var i = getNodeIndex(elem);
- return (i>=lb) && (ub<0 || i<=ub) && ((i % pred) == idx);
- }
- }else{
- condition = idx;
- }
- }
- var ncount = pi(condition);
- return function(elem){
- return (getNodeIndex(elem) == ncount);
- }
- }
- };
- var defaultGetter = (d.isIE < 9 || d.isIE == 9 && d.isQuirks) ? function(cond){
- var clc = cond.toLowerCase();
- if(clc == "class"){ cond = "className"; }
- return function(elem){
- return (caseSensitive ? elem.getAttribute(cond) : elem[cond]||elem[clc]);
- }
- } : function(cond){
- return function(elem){
- return (elem && elem.getAttribute && elem.hasAttribute(cond));
- }
- };
- var getSimpleFilterFunc = function(query, ignores){
-
-
-
-
-
-
-
- if(!query){ return yesman; }
- ignores = ignores||{};
- var ff = null;
- if(!("el" in ignores)){
- ff = agree(ff, _isElement);
- }
- if(!("tag" in ignores)){
- if(query.tag != "*"){
- ff = agree(ff, function(elem){
- return (elem && (elem.tagName == query.getTag()));
- });
- }
- }
- if(!("classes" in ignores)){
- each(query.classes, function(cname, idx, arr){
-
-
- var re = new RegExp("(?:^|\\s)" + cname + "(?:\\s|$)");
- ff = agree(ff, function(elem){
- return re.test(elem.className);
- });
- ff.count = idx;
- });
- }
- if(!("pseudos" in ignores)){
- each(query.pseudos, function(pseudo){
- var pn = pseudo.name;
- if(pseudos[pn]){
- ff = agree(ff, pseudos[pn](pn, pseudo.value));
- }
- });
- }
- if(!("attrs" in ignores)){
- each(query.attrs, function(attr){
- var matcher;
- var a = attr.attr;
-
- if(attr.type && attrs[attr.type]){
- matcher = attrs[attr.type](a, attr.matchFor);
- }else if(a.length){
- matcher = defaultGetter(a);
- }
- if(matcher){
- ff = agree(ff, matcher);
- }
- });
- }
- if(!("id" in ignores)){
- if(query.id){
- ff = agree(ff, function(elem){
- return (!!elem && (elem.id == query.id));
- });
- }
- }
- if(!ff){
- if(!("default" in ignores)){
- ff = yesman;
- }
- }
- return ff;
- };
- var _nextSibling = function(filterFunc){
- return function(node, ret, bag){
- while(node = node[_ns]){
- if(_noNES && (!_isElement(node))){ continue; }
- if(
- (!bag || _isUnique(node, bag)) &&
- filterFunc(node)
- ){
- ret.push(node);
- }
- break;
- }
- return ret;
- }
- };
- var _nextSiblings = function(filterFunc){
- return function(root, ret, bag){
- var te = root[_ns];
- while(te){
- if(_simpleNodeTest(te)){
- if(bag && !_isUnique(te, bag)){
- break;
- }
- if(filterFunc(te)){
- ret.push(te);
- }
- }
- te = te[_ns];
- }
- return ret;
- }
- };
-
- var _childElements = function(filterFunc){
- filterFunc = filterFunc||yesman;
- return function(root, ret, bag){
-
- var te, x = 0, tret = root.children || root.childNodes;
- while(te = tret[x++]){
- if(
- _simpleNodeTest(te) &&
- (!bag || _isUnique(te, bag)) &&
- (filterFunc(te, x))
- ){
- ret.push(te);
- }
- }
- return ret;
- };
- };
-
-
-
- var _isDescendant = function(node, root){
- var pn = node.parentNode;
- while(pn){
- if(pn == root){
- break;
- }
- pn = pn.parentNode;
- }
- return !!pn;
- };
- var _getElementsFuncCache = {};
- var getElementsFunc = function(query){
- var retFunc = _getElementsFuncCache[query.query];
-
- if(retFunc){ return retFunc; }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- var io = query.infixOper;
- var oper = (io ? io.oper : "");
-
-
-
- var filterFunc = getSimpleFilterFunc(query, { el: 1 });
- var qt = query.tag;
- var wildcardTag = ("*" == qt);
- var ecs = getDoc()["getElementsByClassName"];
- if(!oper){
-
-
-
- if(query.id){
-
-
-
- filterFunc = (!query.loops && wildcardTag) ?
- yesman :
- getSimpleFilterFunc(query, { el: 1, id: 1 });
- retFunc = function(root, arr){
- var te = d.byId(query.id, (root.ownerDocument||root));
- if(!te || !filterFunc(te)){ return; }
- if(9 == root.nodeType){
- return getArr(te, arr);
- }else{
- if(_isDescendant(te, root)){
- return getArr(te, arr);
- }
- }
- }
- }else if(
- ecs &&
-
- /\{\s*\[native code\]\s*\}/.test(String(ecs)) &&
- query.classes.length &&
- !cssCaseBug
- ){
-
-
- filterFunc = getSimpleFilterFunc(query, { el: 1, classes: 1, id: 1 });
- var classesString = query.classes.join(" ");
- retFunc = function(root, arr, bag){
- var ret = getArr(0, arr), te, x=0;
- var tret = root.getElementsByClassName(classesString);
- while((te = tret[x++])){
- if(filterFunc(te, root) && _isUnique(te, bag)){
- ret.push(te);
- }
- }
- return ret;
- };
- }else if(!wildcardTag && !query.loops){
-
- retFunc = function(root, arr, bag){
- var ret = getArr(0, arr), te, x=0;
- var tret = root.getElementsByTagName(query.getTag());
- while((te = tret[x++])){
- if(_isUnique(te, bag)){
- ret.push(te);
- }
- }
- return ret;
- };
- }else{
-
-
-
-
- filterFunc = getSimpleFilterFunc(query, { el: 1, tag: 1, id: 1 });
- retFunc = function(root, arr, bag){
- var ret = getArr(0, arr), te, x=0;
-
- var tret = root.getElementsByTagName(query.getTag());
- while((te = tret[x++])){
- if(filterFunc(te, root) && _isUnique(te, bag)){
- ret.push(te);
- }
- }
- return ret;
- };
- }
- }else{
-
-
- var skipFilters = { el: 1 };
- if(wildcardTag){
- skipFilters.tag = 1;
- }
- filterFunc = getSimpleFilterFunc(query, skipFilters);
- if("+" == oper){
- retFunc = _nextSibling(filterFunc);
- }else if("~" == oper){
- retFunc = _nextSiblings(filterFunc);
- }else if(">" == oper){
- retFunc = _childElements(filterFunc);
- }
- }
-
- return _getElementsFuncCache[query.query] = retFunc;
- };
- var filterDown = function(root, queryParts){
-
-
-
-
- var candidates = getArr(root), qp, x, te, qpl = queryParts.length, bag, ret;
- for(var i = 0; i < qpl; i++){
- ret = [];
- qp = queryParts[i];
- x = candidates.length - 1;
- if(x > 0){
-
-
-
-
- bag = {};
- ret.nozip = true;
- }
- var gef = getElementsFunc(qp);
- for(var j = 0; (te = candidates[j]); j++){
-
-
-
-
-
- gef(te, ret, bag);
- }
- if(!ret.length){ break; }
- candidates = ret;
- }
- return ret;
- };
-
-
-
-
-
-
- var _queryFuncCacheDOM = {},
- _queryFuncCacheQSA = {};
-
-
-
- var getStepQueryFunc = function(query){
- var qparts = getQueryParts(trim(query));
-
- if(qparts.length == 1){
-
-
-
-
- var tef = getElementsFunc(qparts[0]);
- return function(root){
- var r = tef(root, new qlc());
- if(r){ r.nozip = true; }
- return r;
- }
- }
-
- return function(root){
- return filterDown(root, qparts);
- }
- };
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- var nua = navigator.userAgent;
-
-
- var wk = "WebKit/";
- var is525 = (
- d.isWebKit &&
- (nua.indexOf(wk) > 0) &&
- (parseFloat(nua.split(wk)[1]) > 528)
- );
-
-
-
- var noZip = d.isIE ? "commentStrip" : "nozip";
- var qsa = "querySelectorAll";
- var qsaAvail = (
- !!getDoc()[qsa] &&
-
- (!d.isSafari || (d.isSafari > 3.1) || is525 )
- );
-
- var infixSpaceRe = /n\+\d|([^ ])?([>~+])([^ =])?/g;
- var infixSpaceFunc = function(match, pre, ch, post) {
- return ch ? (pre ? pre + " " : "") + ch + (post ? " " + post : "") : match;
- };
- var getQueryFunc = function(query, forceDOM){
-
-
-
-
- query = query.replace(infixSpaceRe, infixSpaceFunc);
- if(qsaAvail){
-
- var qsaCached = _queryFuncCacheQSA[query];
- if(qsaCached && !forceDOM){ return qsaCached; }
- }
-
-
- var domCached = _queryFuncCacheDOM[query];
- if(domCached){ return domCached; }
-
-
-
-
- var qcz = query.charAt(0);
- var nospace = (-1 == query.indexOf(" "));
-
-
- if( (query.indexOf("#") >= 0) && (nospace) ){
- forceDOM = true;
- }
- var useQSA = (
- qsaAvail && (!forceDOM) &&
-
-
- (specials.indexOf(qcz) == -1) &&
-
- (!d.isIE || (query.indexOf(":") == -1)) &&
- (!(cssCaseBug && (query.indexOf(".") >= 0))) &&
-
-
-
-
-
-
-
- (query.indexOf(":contains") == -1) && (query.indexOf(":checked") == -1) &&
- (query.indexOf("|=") == -1)
- );
-
-
-
-
-
-
- if(useQSA){
- var tq = (specials.indexOf(query.charAt(query.length-1)) >= 0) ?
- (query + " *") : query;
- return _queryFuncCacheQSA[query] = function(root){
- try{
-
-
-
-
-
-
-
-
-
- if(!((9 == root.nodeType) || nospace)){ throw ""; }
- var r = root[qsa](tq);
-
- r[noZip] = true;
- return r;
- }catch(e){
-
-
- return getQueryFunc(query, true)(root);
- }
- }
- }else{
-
- var parts = query.split(/\s*,\s*/);
- return _queryFuncCacheDOM[query] = ((parts.length < 2) ?
-
- getStepQueryFunc(query) :
-
-
-
- function(root){
- var pindex = 0,
- ret = [],
- tp;
- while((tp = parts[pindex++])){
- ret = ret.concat(getStepQueryFunc(tp)(root));
- }
- return ret;
- }
- );
- }
- };
- var _zipIdx = 0;
-
-
-
- var _nodeUID = d.isIE ? function(node){
- if(caseSensitive){
-
- return (node.getAttribute("_uid") || node.setAttribute("_uid", ++_zipIdx) || _zipIdx);
- }else{
- return node.uniqueID;
- }
- } :
- function(node){
- return (node._uid || (node._uid = ++_zipIdx));
- };
-
-
-
-
-
- var _isUnique = function(node, bag){
- if(!bag){ return 1; }
- var id = _nodeUID(node);
- if(!bag[id]){ return bag[id] = 1; }
- return 0;
- };
-
-
- var _zipIdxName = "_zipIdx";
- var _zip = function(arr){
- if(arr && arr.nozip){
- return (qlc._wrap) ? qlc._wrap(arr) : arr;
- }
-
- var ret = new qlc();
- if(!arr || !arr.length){ return ret; }
- if(arr[0]){
- ret.push(arr[0]);
- }
- if(arr.length < 2){ return ret; }
- _zipIdx++;
-
-
-
- if(d.isIE && caseSensitive){
- var szidx = _zipIdx+"";
- arr[0].setAttribute(_zipIdxName, szidx);
- for(var x = 1, te; te = arr[x]; x++){
- if(arr[x].getAttribute(_zipIdxName) != szidx){
- ret.push(te);
- }
- te.setAttribute(_zipIdxName, szidx);
- }
- }else if(d.isIE && arr.commentStrip){
- try{
- for(var x = 1, te; te = arr[x]; x++){
- if(_isElement(te)){
- ret.push(te);
- }
- }
- }catch(e){ }
- }else{
- if(arr[0]){ arr[0][_zipIdxName] = _zipIdx; }
- for(var x = 1, te; te = arr[x]; x++){
- if(arr[x][_zipIdxName] != _zipIdx){
- ret.push(te);
- }
- te[_zipIdxName] = _zipIdx;
- }
- }
- return ret;
- };
-
- d.query = function(/*String*/ query, /*String|DOMNode?*/ root){
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- qlc = d._NodeListCtor;
- if(!query){
- return new qlc();
- }
- if(query.constructor == qlc){
- return query;
- }
- if(typeof query != "string"){
- return new qlc(query);
- }
- if(typeof root == "string"){
- root = d.byId(root);
- if(!root){ return new qlc(); }
- }
- root = root||getDoc();
- var od = root.ownerDocument||root.documentElement;
-
-
-
-
- caseSensitive = (root.contentType && root.contentType=="application/xml") ||
- (d.isOpera && (root.doctype || od.toString() == "[object XMLDocument]")) ||
- (!!od) &&
- (d.isIE ? od.xml : (root.xmlVersion||od.xmlVersion));
-
-
-
-
- var r = getQueryFunc(query)(root);
-
-
- if(r && r.nozip && !qlc._wrap){
- return r;
- }
- return _zip(r);
- }
-
- d.query.pseudos = pseudos;
-
- d._filterQueryResult = function(/*NodeList*/ nodeList, /*String*/ filter, /*String|DOMNode?*/ root){
- var tmpNodeList = new d._NodeListCtor(),
- parts = getQueryParts(filter),
- filterFunc =
- (parts.length == 1 && !/[^\w#\.]/.test(filter)) ?
- getSimpleFilterFunc(parts[0]) :
- function(node) {
- return dojo.query(filter, root).indexOf(node) != -1;
- };
- for(var x = 0, te; te = nodeList[x]; x++){
- if(filterFunc(te)){ tmpNodeList.push(te); }
- }
- return tmpNodeList;
- }
- };
- var defineAcme= function(){
-
- acme = {
- trim: function(/*String*/ str){
-
-
- str = str.replace(/^\s+/, '');
- for(var i = str.length - 1; i >= 0; i--){
- if(/\S/.test(str.charAt(i))){
- str = str.substring(0, i + 1);
- break;
- }
- }
- return str;
- },
- forEach: function(/*String*/ arr, /*Function*/ callback, /*Object?*/ thisObject){
-
-
-
- if(!arr || !arr.length){ return; }
- for(var i=0,l=arr.length; i<l; ++i){
- callback.call(thisObject||window, arr[i], i, arr);
- }
- },
- byId: function(id, doc){
-
-
-
- if(typeof id == "string"){
- return (doc||document).getElementById(id);
- }else{
- return id;
- }
- },
-
- doc: document,
-
- NodeList: Array
- };
-
- var n = navigator;
- var dua = n.userAgent;
- var dav = n.appVersion;
- var tv = parseFloat(dav);
- acme.isOpera = (dua.indexOf("Opera") >= 0) ? tv: undefined;
- acme.isKhtml = (dav.indexOf("Konqueror") >= 0) ? tv : undefined;
- acme.isWebKit = parseFloat(dua.split("WebKit/")[1]) || undefined;
- acme.isChrome = parseFloat(dua.split("Chrome/")[1]) || undefined;
- var index = Math.max(dav.indexOf("WebKit"), dav.indexOf("Safari"), 0);
- if(index && !acme.isChrome){
- acme.isSafari = parseFloat(dav.split("Version/")[1]);
- if(!acme.isSafari || parseFloat(dav.substr(index + 7)) <= 419.3){
- acme.isSafari = 2;
- }
- }
- if(document.all && !acme.isOpera){
- acme.isIE = parseFloat(dav.split("MSIE ")[1]) || undefined;
- }
- Array._wrap = function(arr){ return arr; };
- return acme;
- };
-
- if(this["dojo"]){
- dojo.provide("dojo._base.query");
- dojo.require("dojo._base.NodeList");
- dojo.require("dojo._base.lang");
- defineQuery(this["queryPortability"]||this["acme"]||dojo);
- }else{
- defineQuery(this["queryPortability"]||this["acme"]||defineAcme());
- }
- })();
- }
|