var Observer=new Class({options:{periodical:false,delay:1000},initialize:function(b,c,a){this.setOptions(a);this.addEvent("onFired",c);this.element=$(b);this.listener=this.fired.bind(this);this.value=this.element.getValue();if(this.options.periodical){this.timer=this.listener.periodical(this.options.periodical)}else{this.element.addEvent("keyup",this.listener)}},fired:function(){var a=this.element.getValue();if(this.value==a){return}this.clear();this.value=a;this.timeout=this.fireEvent.delay(this.options.delay,this,["onFired",[a]])},clear:function(){$clear(this.timeout);return this}});Observer.implement(new Options);Observer.implement(new Events);