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