Meetup.FeedPager=function(elm,url,external,prefix){MochiKit.Base.bindMethods(this);var urls=Meetup.FeedPager.parseUrl(url);this.args=urls[1];this.baseUrl=urls[0];this.mainElm=elm;this.newTimestamps=[];this.pnPrefix=prefix||"";this.setupPageOlder();this.setupRefresh();if(external){this.setupRefreshItem(external)}};Meetup.FeedPager.GAT_LOAD_MORE="Feed Load More";Meetup.FeedPager.GAT_REFRESH="Feed Refresh";Meetup.FeedPager.prototype.args=null;Meetup.FeedPager.prototype.baseUrl="/home/feed";Meetup.FeedPager.prototype.mainElm=null;Meetup.FeedPager.prototype.newTimestamps=null;Meetup.FeedPager.prototype.pnPrefix=null;Meetup.FeedPager.init=function(elm,url,external,prefix){if(typeof(url)!=="string"){LOG.error("feedpager: url is not a string");return}if(elm===null){LOG.error("no valid element passed");return}return new Meetup.FeedPager(elm,url,external,prefix)};Meetup.FeedPager.parseUrl=function(url){var result={},arr=url.split("?"),base=arr[0];if(arr.length<2){return[base,result]}result=MochiKit.Base.parseQueryString(arr.slice(1).join("?"));return[base,result]};Meetup.FeedPager.prototype.setupPageOlder=function(){MochiKit.Base.map(this.setupPageOlderItem,MochiKit.DOM.getElementsByTagAndClassName("a","J_pageOlder",this.mainElm))};Meetup.FeedPager.prototype.setupPageOlderItem=function(elm){var MKSIG=MochiKit.Signal,MKDOM=MochiKit.DOM,G1=MKDOM.getFirstElementByTagAndClassName;MKSIG.disconnectAll(elm,"onclick");if(G1("input","J_feedPagerDataOlder",this.mainElm)!==null){MKDOM.removeElementClass(elm,"displaynone");MKSIG.connect(elm,"onclick",this.pageOlder)}else{MKDOM.addElementClass(elm,"displaynone");MKDOM.addElementClass(G1("*","J_feedPager",this.mainElm),"displaynone");MKSIG.connect(elm,"onclick",function(ev){ev.stop();return false})}};Meetup.FeedPager.prototype.pageOlder=function(ev){ev.stop();Meetup.pageName=[this.pnPrefix,Meetup.FeedPager.GAT_LOAD_MORE].join(":");if(window._gat){Meetup.GA.track()}var G1=MochiKit.DOM.getFirstElementByTagAndClassName;var pageData=G1("input","J_feedPagerDataOlder",this.mainElm);if(pageData===null){LOG.error("Missing element with id == J_feedPagerDataOlder");return false}var pageNum=pageData.value;this.newTimestamps[this.newTimestamps.length]=G1("input",undefined,G1("input","J_feedPagerDataOlder",this.mainElm));MochiKit.DOM.removeElement(G1("input","J_feedPagerDataOlder",this.mainElm));this.pageTo(pageNum);return false};Meetup.FeedPager.prototype.pageTo=function(start){this.pagingActive();var elms=$("D_liveFeedItems");var myargs=MochiKit.Base.clone(this.args);myargs.page_start=start;this.doPageCall(myargs)};Meetup.FeedPager.prototype.pagingActive=function(){var G1=MochiKit.DOM.getFirstElementByTagAndClassName;MochiKit.DOM.addElementClass(G1("*","J_feedPager",this.mainElm),"displaynone");MochiKit.DOM.removeElementClass(G1("*","feedPagerLoadingPlaceholder",this.mainElm),"displaynone")};Meetup.FeedPager.prototype.doPageCall=function(args,noappend){if(typeof(args)!=="object"){args={}}noappend=noappend||false;args.__AJAX_FORM_FORWARD_NAME="";MochiKit.Base.map(function(elm){MochiKit.Signal.signal(elm,"onajaxsubmit")},MochiKit.DOM.getElementsByTagAndClassName("*","J_feedPager",this.mainElm));var def=Meetup.Http.post(this.baseUrl,MochiKit.Base.queryString(args));var mainElm=this.mainElm;def.addCallbacks(partial(this.returnFromPage,noappend),partial(function(){MochiKit.DOM.appendChildNodes(mainElm,H2({},"RPC REQUEST FAILED"))}))};Meetup.FeedPager.prototype.returnFromPage=function(noappend,xhr){if(xhr.responseText){var text=xhr.responseText.replace(/^\s*|\s*$/g,"");if(text.length>0){var feed=$("D_liveFeedItems");if(noappend){feed.innerHTML=text}else{feed.innerHTML+=text}}}MochiKit.Base.map(function(elm){MochiKit.Signal.signal(elm,"onajaxsuccess")},MochiKit.DOM.getElementsByTagAndClassName("*","J_feedPager",this.mainElm));this.pagingInactive();this.refreshInactive()};Meetup.FeedPager.prototype.pagingInactive=function(){var MKDOM=MochiKit.DOM;MKDOM.removeElementClass(MKDOM.getFirstElementByTagAndClassName("*","J_feedPager",this.mainElm),"displaynone");MKDOM.addElementClass(MKDOM.getFirstElementByTagAndClassName("*","feedPagerLoadingPlaceholder",this.mainElm),"displaynone");this.setupPageOlder()};Meetup.FeedPager.prototype.refreshInactive=function(){MochiKit.Signal.signal(this.mainElm,"onajaxsuccess")};Meetup.FeedPager.prototype.setupRefresh=function(){MochiKit.Base.map(this.setupRefreshItem,MochiKit.DOM.getElementsByTagAndClassName("*","D_refreshBtn",this.mainElm))};Meetup.FeedPager.prototype.setupRefreshItem=function(elm){if(elm.tagName.toLowerCase!=="a"){elm=MochiKit.DOM.getFirstElementByTagAndClassName("a",undefined,elm)}MochiKit.Signal.connect(elm,"onclick",this.refreshRequest)};Meetup.FeedPager.prototype.refreshRequest=function(ev){ev.stop();Meetup.pageName=[this.pnPrefix,Meetup.FeedPager.GAT_REFRESH].join(":");if(window._gat){Meetup.GA.track()}this.refresh();return false};Meetup.FeedPager.prototype.refresh=function(){this.refreshActive();var args=MochiKit.Base.clone(this.args);args._=+new Date();this.doPageCall(args,true)};Meetup.FeedPager.prototype.refreshActive=function(){MochiKit.Signal.signal(this.mainElm,"onajaxsubmit")};