FlickrViewer=new JS.Class({include:Ojay.Observable,initialize:function(B,A){this._flickr=new Flickr.Client(B);this._ready=false;this._flickr.getFavourites(A,function(C){this._photos=C;this._ready=true;this.notifyObservers("ready")},this)},getHTML:function(){if(!this._ready){return null}if(this._html){return this._html}var A=this;this._html=Ojay(Ojay.HTML.div(function(B){A._photoDisplay=B.div(function(C){A._photos.forEach(function(D){C.div({className:"photo"},C.a({href:D.getLink()},C.img({src:D.getThumbnail()})))})});A._descriptionDisplay=Ojay(B.div({className:"description"}))}));this._pager=new Ojay.Paginator(this._photoDisplay,{direction:"horizontal",rows:1,columns:1,looping:true});this._pager.on("pagechange",function(B,C){this._updateDescription(C)},this);return this._html},setup:function(){if(!this._ready||this._setup){return }var A=Math.max(Math.ceil(Math.random()*this._photos.length),1);this._pager.setPage(A);this._setup=true;this._pager.setup();this._pager.addControls("before");this._updateDescription(this._pager.getCurrentPage())},_updateDescription:function(A){var B=this._photos[A-1].getDescription().replace(/^(\s*<p>.*?<\/p>){2}/i,"");this._descriptionDisplay.setContent(B)}})