/*
	Copyright (c) 2004-2009, 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.NodeList"]){
dojo._hasResource["dojo._base.NodeList"]=true;
dojo.provide("dojo._base.NodeList");
dojo.require("dojo._base.lang");
dojo.require("dojo._base.array");
(function(){
var d=dojo;
var ap=Array.prototype,_3=ap.slice,_4=ap.concat;
var _5=function(a){
a.constructor=d.NodeList;
dojo._mixin(a,d.NodeList.prototype);
return a;
};
var _7=function(f,a,o){
a=[0].concat(_3.call(a,0));
if(!a.sort){
a=_3.call(a,0);
}
o=o||d.global;
return function(_b){
a[0]=_b;
return f.apply(o,a);
};
};
var _c=function(f,o){
return function(){
this.forEach(_7(f,arguments,o));
return this;
};
};
var _f=function(f,o){
return function(){
return this.map(_7(f,arguments,o));
};
};
var _12=function(f,o){
return function(){
return this.filter(_7(f,arguments,o));
};
};
var _15=function(f,g,o){
return function(){
var a=arguments,_1a=_7(f,a,o);
if(g.call(o||d.global,a)){
return this.map(_1a);
}
this.forEach(_1a);
return this;
};
};
var _1b=function(a){
return a.length==1&&d.isString(a[0]);
};
var _1d=function(_1e){
var p=_1e.parentNode;
if(p){
p.removeChild(_1e);
}
};
dojo.NodeList=function(){
return _5(Array.apply(null,arguments));
};
var nl=d.NodeList,nlp=nl.prototype;
nl._wrap=_5;
nl._adaptAsMap=_f;
nl._adaptAsForEach=_c;
nl._adaptAsFilter=_12;
nl._adaptWithCondition=_15;
d.forEach(["slice","splice"],function(_22){
var f=ap[_22];
nlp[_22]=function(){
return _5(f.apply(this,arguments));
};
});
d.forEach(["indexOf","lastIndexOf","every","some"],function(_24){
var f=d[_24];
nlp[_24]=function(){
return f.apply(d,[this].concat(_3.call(arguments,0)));
};
});
d.forEach(["attr","style"],function(_26){
nlp[_26]=_15(d[_26],_1b);
});
d.forEach(["connect","addClass","removeClass","toggleClass","empty"],function(_27){
nlp[_27]=_c(d[_27]);
});
dojo.extend(dojo.NodeList,{concat:function(_28){
var t=d.isArray(this)?this:_3.call(this,0),m=d.map(arguments,function(a){
return a&&!d.isArray(a)&&(a.constructor===NodeList||a.constructor==nl)?_3.call(a,0):a;
});
return _5(_4.apply(t,m));
},map:function(_2c,obj){
return _5(d.map(this,_2c,obj));
},forEach:function(_2e,_2f){
d.forEach(this,_2e,_2f);
return this;
},coords:_f(d.coords),place:function(_30,_31){
var _32=d.query(_30)[0];
return this.forEach(function(_33){
d.place(_33,_32,_31);
});
},orphan:function(_34){
return (_34?d._filterQueryResult(this,_34):this).forEach(_1d);
},adopt:function(_35,_36){
return d.query(_35).place(this[0],_36);
},query:function(_37){
if(!_37){
return this;
}
var ret=this.map(function(_39){
return d.query(_37,_39).filter(function(_3a){
return _3a!==undefined;
});
});
return _5(_4.apply([],ret));
},filter:function(_3b){
var a=arguments,_3d=this,_3e=0;
if(d.isString(_3b)){
_3d=d._filterQueryResult(this,a[0]);
if(a.length==1){
return _3d;
}
_3e=1;
}
return _5(d.filter(_3d,a[_3e],a[_3e+1]));
},addContent:function(_3f,_40){
var c=d.isString(_3f)?d._toDom(_3f,this[0]&&this[0].ownerDocument):_3f,i,l=this.length-1;
for(i=0;i<l;++i){
d.place(c.cloneNode(true),this[i],_40);
}
if(l>=0){
d.place(c,this[l],_40);
}
return this;
},instantiate:function(_44,_45){
var c=d.isFunction(_44)?_44:d.getObject(_44);
_45=_45||{};
return this.forEach(function(_47){
new c(_45,_47);
});
},at:function(){
var t=new dojo.NodeList();
d.forEach(arguments,function(i){
if(this[i]){
t.push(this[i]);
}
},this);
return t;
}});
d.forEach(["blur","focus","change","click","error","keydown","keypress","keyup","load","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup","submit"],function(evt){
var _oe="on"+evt;
nlp[_oe]=function(a,b){
return this.connect(_oe,a,b);
};
});
})();
}
