/*
	Copyright (c) 2004-2008, 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["dojox.data.css"]){
dojo._hasResource["dojox.data.css"]=true;
dojo.provide("dojox.data.css");
dojo.provide("dojox.data.css.rules");
dojox.data.css.rules.forEach=function(fn,_2,_3){
if(_3){
var _4=function(_5){
dojo.forEach(_5[_5.cssRules?"cssRules":"rules"],function(_6){
if(!_6.type||_6.type!==3){
var _7="";
if(_5&&_5.href){
_7=_5.href;
}
fn.call(_2?_2:this,_6,_5,_7);
}
});
};
dojo.forEach(_3,_4);
}
};
dojox.data.css.findStyleSheets=function(_8){
var _9=[];
var _a=function(_b){
var s=dojox.data.css.findStyleSheet(_b);
if(s){
dojo.forEach(s,function(_d){
if(dojo.indexOf(_9,_d)===-1){
_9.push(_d);
}
});
}
};
dojo.forEach(_8,_a);
return _9;
};
dojox.data.css.findStyleSheet=function(_e){
var _f=[];
if(_e.charAt(0)==="."){
_e=_e.substring(1);
}
var _10=function(_11){
if(_11.href&&_11.href.match(_e)){
_f.push(_11);
return true;
}
if(_11.imports){
return dojo.some(_11.imports,function(_12){
return _10(_12);
});
}
return dojo.some(_11[_11.cssRules?"cssRules":"rules"],function(_13){
if(_13.type&&_13.type===3&&_10(_13.styleSheet)){
return true;
}
return false;
});
};
dojo.some(document.styleSheets,_10);
return _f;
};
dojox.data.css.determineContext=function(_14){
var ret=[];
if(_14&&_14.length>0){
_14=dojox.data.css.findStyleSheets(_14);
}else{
_14=document.styleSheets;
}
var _16=function(_17){
ret.push(_17);
if(_17.imports){
dojo.forEach(_17.imports,function(_18){
_16(_18);
});
}
dojo.forEach(_17[_17.cssRules?"cssRules":"rules"],function(_19){
if(_19.type&&_19.type===3){
_16(_19.styleSheet);
}
});
};
dojo.forEach(_14,_16);
return ret;
};
}
