MySpace.UI.ClientPager=function(A){MySpace.UI.ClientPager.initializeBase(this,[A]);this.currentPage=1;this.currentPageClusterPage=1;this.totalNumberOfPageClusters=1;this.highestPageInCluster=0;this.lowestPageInCluster=0};MySpace.UI.ClientPager.prototype={totalItems:0,itemsPerPage:10,pagesInCluster:5,enableBackButton:true,siblingPagerIds:null,dataPageUrl:null,dataPageParams:null,contentNode:null,ajaxLoadingGifUrl:null,ajaxLoadingText:MySpaceRes.ProfileEdit.EditorLoading,errorMessageText:MySpaceRes.AccountSettings.AnErrorOccurredPleaseTryAgain,XtoYofZText:MySpaceRes.Common.Listing,prevCluster:"&lsaquo;&lsaquo;",nextCluster:"&rsaquo;&rsaquo;",prevPage:"&lsaquo; "+MySpaceRes.Common.Prev,nextPage:MySpaceRes.Common.Next+" &rsaquo;",ofLabel:MySpaceRes.Common.OfNoSpaces,nextPageImageUrl:"",prevPageImageUrl:"",nextPageClusterImageUrl:"",prevPageClusterImageUrl:"",get_events:function(){if(!this._events){this._events=new Sys.EventHandlerList()}return this._events},add_pageChangeBegin:function(A){this.get_events().addHandler("onPageChangeBegin",A)},remove_pageChangeBegin:function(A){this.get_events().removeHandler("onPageChangeBegin",A)},add_pageChangeEnd:function(A){this.get_events().addHandler("onPageChangeEnd",A)},remove_pageChangeEnd:function(A){this.get_events().removeHandler("onPageChangeEnd",A)},_raisePagerEvent:function(B,A){var C=this.get_events().getHandler(B);if(C){if(!A){A=Sys.EventArgs.Empty}C(this,A)}},get_contentNode:function(){return this.contentNode},set_contentNode:function(A){this.contentNode=A},get_dataPageParams:function(){return this.dataPageParams},set_dataPageParams:function(A){this.dataPageParams=A},get_siblingPagerIds:function(){return this.siblingPagerIds},set_siblingPagerIds:function(A){this.siblingPagerIds=A},initialize:function(){MySpace.UI.ClientPager.callBaseMethod(this,"initialize");var D=this.get_element();Sys.UI.DomElement.addCssClass(D,"pagingContainer");D.innerHTML="";var B=Function.createDelegate(this,function(F,H){var G=document.createElement("div");G.className=F;this[H]=G;D.appendChild(G)});B("pagingLeft","XtoYofZNode");B("pagingLeft","errorNode");B("pagingLeft","loadingNode");B("pagingCenter","pageLinksNode");B("pagingRight","nextPrevNode");var C=document.createTextNode(this.errorMessageText);this.errorNode.appendChild(C);this.errorNode.style.display="none";if(this.ajaxLoadingGifUrl){var E=document.createElement("img");E.setAttribute("src",this.ajaxLoadingGifUrl);this.loadingNode.appendChild(E)}else{var A=document.createTextNode(this.ajaxLoadingText);this.loadingNode.appendChild(A)}this.loadingNode.style.display="none";this.clickDelegate=Function.createDelegate(this,this._onClick);$addHandler(D,"click",this.clickDelegate);if(this.enableBackButton&&!MySpace.UI.ClientPager.addedHistoryHandler){MySpace.Application.get_history().add_navigate(Function.createDelegate(this,function(G,F){this._goToPage(F.get_state().page||1)}));MySpace.UI.ClientPager.addedHistoryHandler=true}this.render()},dispose:function(){$removeHandler(this.get_element(),"click",this.clickDelegate);this.clickDelegate=null;this.pageLinksNode=null;this.nextPrevNode=null;this.XtoYofZNode=null;this.loadingNode=null;this.errorNode=null;MySpace.UI.ClientPager.callBaseMethod(this,"dispose")},_updateXtoYofZ:function(){var C=((this.currentPage-1)*this.itemsPerPage)+1;var B=Math.min(this.currentPage*this.itemsPerPage,this.totalItems);var A=String.format(this.XtoYofZText,C,B,this.totalItems);this.XtoYofZNode.innerHTML=A},_updateLinks:function(){this.pageLinksNode.innerHTML="";this.nextPrevNode.innerHTML="";if(this.highestPageInCluster==1){return}if(this.currentPageClusterPage!=1){this._createLink(this.pageLinksNode,1,null,1);this._createLink(this.pageLinksNode,this.prevCluster,this.prevPageClusterImageUrl,this.lowestPageInCluster-1)}for(var B=this.lowestPageInCluster;B<=this.highestPageInCluster;B++){if(B==this.currentPage){this._createLabel(this.pageLinksNode,""+B,"currentpage")}else{this._createLink(this.pageLinksNode,""+B,null,B)}}if(this.currentPageClusterPage!=this.totalNumberOfPageClusters){this._createLink(this.pageLinksNode,this.nextCluster,this.nextPageClusterImageUrl,this.highestPageInCluster+1);this._createLabel(this.pageLinksNode,this.ofLabel,"pagingOf");this._createLink(this.pageLinksNode,this.totalPages,null,this.totalPages)}var A=this.currentPage!=1;var C=this.currentPage!=this.totalPages;if(A){this._createLink(this.nextPrevNode,this.prevPage,this.prevPageImageUrl,this.currentPage-1)}if(A&&C){this._createLabel(this.nextPrevNode,"|",null)}if(C){this._createLink(this.nextPrevNode,this.nextPage,this.nextPageImageUrl,this.currentPage+1)}},_createLink:function(C,E,A,D){var B=document.createElement("a");B.href="#";B.setAttribute("pageNumber",D);B.className="pagingLink";B.innerHTML=A?'<img src="'+A+'" alt="'+E+'" />':E;C.appendChild(B)},_createLabel:function(C,D,A){var B=document.createElement("span");B.className=A;B.innerHTML=D;C.appendChild(B)},_showLoading:function(A){this.isLoading=A;this.loadingNode.style.display=A?"block":"none";this.XtoYofZNode.style.display=A?"none":"block"},_onClick:function(C){var A=new Sys.UI.DomEvent(C);A.preventDefault();A.stopPropagation();var B=this._getPageNumber(C.target);if(this.isLoading||!B){return}this._goToPage(B);if(this.enableBackButton){MySpace.Application.get_history().addHistoryPoint({page:B})}},_getPageNumber:function(B){while(B&&B.getAttribute){var A=B.getAttribute("pageNumber");if(A){return parseInt(A)}B=B.parentNode}},_goToPage:function(E){this._beginPageChange(E);if(this.siblingPagerIds){for(var D=0;D<this.siblingPagerIds.length;D++){var A=$find(this.siblingPagerIds[D]);if(A&&A!=this){$find(this.siblingPagerIds[D])._beginPageChange(E)}}}this._raisePagerEvent("onPageChangeBegin",{currentPage:E});if(this.dataPageUrl){this.dataPageParams=this.dataPageParams||{};this.dataPageParams.page=E;var F=[];for(var C in this.dataPageParams){F.push(C+"="+encodeURIComponent(this.dataPageParams[C]))}var B=this.dataPageUrl+(this.dataPageUrl.indexOf("?")>=0?"&":"?")+F.join("&");MySpace.WebRequest.invoke(B,true,null,Function.createDelegate(this,this._onDataPageLoad),Function.createDelegate(this,this._onError),null,30000)}},_beginPageChange:function(A){this.errorNode.style.display="none";this.currentPage=A;this.currentPageClusterPage=Math.ceil(A/this.pagesInCluster);this._showLoading(true)},_endPageChange:function(A){this._showLoading(false);if(A>0){this.get_element().style.visibility="";this.totalItems=A;this.totalPages=Math.ceil(A/this.itemsPerPage);this.totalNumberOfPageClusters=Math.ceil(this.totalPages/this.pagesInCluster);this.lowestPageInCluster=(this.currentPageClusterPage-1)*this.pagesInCluster+1;this.highestPageInCluster=Math.min(this.lowestPageInCluster+this.pagesInCluster-1,this.totalPages);this._updateLinks();this._updateXtoYofZ()}else{this.get_element().style.visibility="hidden"}},_onServiceLoad:function(A,C,B){this.contentNode.innerHTML=A.HTML;this.render(A.TotalItems);this._raisePagerEvent("onPageChangeEnd",{currentPage:this.currenPage})},_onDataPageLoad:function(B,A){this.contentNode.innerHTML=B;this.render();this._raisePagerEvent("onPageChangeEnd",{currentPage:this.currentPage})},_onError:function(){this._showLoading(false);this.errorNode.style.display=""},render:function(C){if(typeof C!=="number"){var D=MySpace.Utils.Selector.query(".pagingTotalItems",this.contentNode)[0];C=D?parseInt(D.innerHTML):this.totalItems}this._endPageChange(C);if(this.siblingPagerIds){for(var B=0;B<this.siblingPagerIds.length;B++){var A=$find(this.siblingPagerIds[B]);if(A&&A!=this){A._endPageChange(C)}}}},reset:function(C){this.currentPage=1;if(this.siblingPagerIds){for(var B=0;B<this.siblingPagerIds.length;B++){var A=$find(this.siblingPagerIds[B]);if(A&&A!=this){A.currentPage=1}}}this.render(C)}};MySpace.UI.ClientPager.init=function(E,C,A,D){E=E||{};E.siblingPagerIds=D;for(var B=0;B<D.length;B++){$create(MySpace.UI.ClientPager,E,C,A,$get(D[B]))}};MySpace.UI.ClientPager.registerClass("MySpace.UI.ClientPager",Sys.UI.Control);