/* Copyright © 2008 Deep Web Technologies, Inc.  All rights reserved. */

function Paginator(){this.resultCount=0;this.totalResultCount=0;this.startPosition=0;this.currentPage=1;this.pageLinkCount=5;this.pageCount=1;this.lastPage=1;this.suffix=["","_bottom"];this.topFilterElement=null;}Paginator.resultsPerPage=10;Paginator.goToPageFunction=null;Paginator.prototype.gotoPage=function(A,C,B){if(A<this.totalResultCount){this.pageTo(A,false,C,B);}};Paginator.prototype.showPrevious=function(C,B){var A=this.startPosition-Paginator.resultsPerPage;if(A>-1){this.pageTo(A,false,C,B);}};Paginator.prototype.showNext=function(C,B){var A=this.startPosition;if((A+Paginator.resultsPerPage)<this.totalResultCount){A+=Paginator.resultsPerPage;this.pageTo(A,false,C,B);}};Paginator.prototype.showFirst=function(B,A){if(this.startPosition>=Paginator.resultsPerPage){this.pageTo(0,false,B,A);}};Paginator.prototype.showLast=function(D,C){var A=this.totalResultCount;var B=Math.floor(A/Paginator.resultsPerPage)*Paginator.resultsPerPage;if((B%Paginator.resultsPerPage)===0&&B==A){B=B-Paginator.resultsPerPage;}if(this.startPosition<B){this.pageTo(B,false,D,C);}};Paginator.prototype.getTopFilterElement=function(){var A;var C;var B;if(this.topFilterElement===null){C=new RegExp("\\bfilter_results_form\\b");B=document.body.getElementsByTagName("div");for(A=0;A<B.length&&!this.topFilterElement;A++){if(C.test(B[A].className)){this.topFilterElement=B[A];}}}return this.topFilterElement;};Paginator.prototype.pageTo=function(C,B,E,D){var F=this.getTopFilterElement();if(window.navigator.userAgent.indexOf("MSIE")!=-1){window.scrollTo(0,0);}else{var A=F.offsetTop;if(F.offsetParent){A+=F.offsetParent.offsetTop;}if(A<window.scrollY){F.scrollIntoView();}}this.getPageOfResults(C,B,E,D);};Paginator.prototype.paginate=function(){var A=this.totalResultCount;this.pageCount=Math.ceil(A/Paginator.resultsPerPage);this.currentPage=Math.ceil((this.startPosition+1)/Paginator.resultsPerPage);this.lastPage=Math.ceil(A/Paginator.resultsPerPage);var B=null;var D;for(var C=0;C<this.suffix.length;++C){D=this.suffix[C];if(document.getElementById("filter_results_form"+D)===null){continue;}if(this.pageCount>1){B=document.getElementById("PageLinks"+D);var L=B.firstChild;if(L!==null){B.removeChild(L);}L=document.createElement("span");if(this.currentPage==1){document.getElementById("FirstPageLink"+D).disabled=true;document.getElementById("PreviousPageLink"+D).disabled=true;document.getElementById("FirstPageLinkImage"+D).src=getImageDir()+"/icon.first.disabled.18x20.png";document.getElementById("PreviousPageLinkImage"+D).src=getImageDir()+"/icon.previous.disabled.18x20.png";}else{document.getElementById("FirstPageLink"+D).disabled=false;document.getElementById("PreviousPageLink"+D).disabled=false;document.getElementById("FirstPageLinkImage"+D).src=getImageDir()+"/icon.first.18x20.png";document.getElementById("PreviousPageLinkImage"+D).src=getImageDir()+"/icon.previous.18x20.png";}if(this.currentPage==this.lastPage){document.getElementById("NextPageLink"+D).disabled=true;document.getElementById("LastPageLink"+D).disabled=true;document.getElementById("NextPageLinkImage"+D).src=getImageDir()+"/icon.next.disabled.18x20.png";document.getElementById("LastPageLinkImage"+D).src=getImageDir()+"/icon.last.disabled.18x20.png";}else{document.getElementById("NextPageLink"+D).disabled=false;document.getElementById("LastPageLink"+D).disabled=false;document.getElementById("NextPageLinkImage"+D).src=getImageDir()+"/icon.next.18x20.png";document.getElementById("LastPageLinkImage"+D).src=getImageDir()+"/icon.last.18x20.png";}var G=this.startPosition;var K=Math.floor(this.pageLinkCount/2);var F=Math.min(Math.max((this.currentPage-K),1),this.currentPage);var I=(this.currentPage-F)*Paginator.resultsPerPage;var H=this.startPosition-I;while((H+(this.pageLinkCount-1)*Paginator.resultsPerPage)>=this.totalResultCount&&F>1){H-=Paginator.resultsPerPage;F-=1;}for(var E=0;E<Math.min(this.pageCount,this.pageLinkCount);E++){var J=document.createElement("a");J.innerHTML=F+E;if(G!=H){J.href="#";J.onclick=function(M){return function(N){Paginator.goToPageFunction(M);return false;};}(H);}else{J.style.fontWeight="bold";}L.appendChild(J);H+=Paginator.resultsPerPage;}B.appendChild(L);B=document.getElementById("PaginatedNavigation"+D);B.style.display="block";}else{B=document.getElementById("PaginatedNavigation"+D);B.style.display="none";}B=document.getElementById("StartPosition"+D);B.innerHTML=this.resultCount>0?this.startPosition+1:this.startPosition;B=document.getElementById("EndPosition"+D);if(this.startPosition+this.resultCount>=this.totalResultCount){B.innerHTML=this.totalResultCount;}else{B.innerHTML=this.startPosition+this.resultCount;}B=document.getElementById("TotalResults"+D);B.innerHTML=formatInteger(this.totalResultCount);if(this.totalResultCount>0){document.getElementById("filter_results_form"+D).style.visibility="visible";}}};