var EventSelectors={version:"1.0_pre",cache:[],start:function(a){this.rules=a||{};this.timer=new Array();this._extendRules();this.assign(this.rules)},assign:function(b){var a=null;this._unloadCache();b._each(function(d){var c=$A(d.key.split(","));c.each(function(e){var g=e.split(":");var f=g[1];$$(g[0]).each(function(h){if(g[1]==""||g.length==1){return d.value(h)}if(f.toLowerCase()=="loaded"){this.timer[g[0]]=setInterval(this._checkLoaded.bind(this,h,g[0],d),15)}else{a=function(j){var i=Event.element(j);if(i.nodeType==3){i=i.parentNode}d.value($(i),j)};this.cache.push([h,f,a]);Event.observe(h,f,a)}}.bind(this))}.bind(this))}.bind(this))},_unloadCache:function(){if(!this.cache){return}for(var a=0;a<this.cache.length;a++){Event.stopObserving.apply(this,this.cache[a]);this.cache[a][0]=null}this.cache=[]},_checkLoaded:function(a,d,c){var b=$(a);if(a.tagName!="undefined"){clearInterval(this.timer[d]);c.value(b)}},_extendRules:function(){Object.extend(this.rules,{_each:function(a){for(key in this){if(key=="_each"){continue}var b=this[key];var c=[key,b];c.key=key;c.value=b;a(c)}}})}};
