obips.Observable=function(){this.listeners=new Array()};obips.Observable.prototype.addEventListener=function(a){if(typeof(obips)=="undefined"){return}obips.Array.append(this.listeners,a,true)};obips.Observable.prototype.removeEventListener=function(a){obips.Array.remove(this.listeners,a)};obips.Observable.prototype.hasListenerForEvent=function(f){var c=this.listeners;var b=c.length;var d=false;for(var e=0;e!=b;++e){if(c[e].eventType==f){d=true;break}}return d};obips.Observable.prototype.notify=function(b){for(var c=0;c<this.listeners.length;c++){var d=this.listeners[c];if(d&&d.eventType&&d.eventType==b.type&&d.callback){var a=false;try{a=d._isOK()}catch(f){}if(a){d.callback.exec(b)}else{this.removeEventListener(d);c--}}}};obips.Observable.EventListener=function(b,a){this.eventType=b;this.callback=a};obips.Observable.EventListener.prototype._isOK=function(){return window?true:false};obips.Observable.Event=function(b,a){this.type=b;this.context=a};