function InitPager(c,f,e,b,a,d,h,g){this.noOfItems=c;this.itemsPerPage=f;this.actionUrl=e;this.pagerDiv=b;this.pagerNumDiv=a;if(h<3){this.maxPages=3}else{this.maxPages=h}this.Function=g;this.totalPages=this.noOfItems/this.itemsPerPage|0;if(this.noOfItems%this.itemsPerPage!=0){this.totalPages++}this.pageBegin=0;this.pageEnd=h;this.currentPageNo=d}function SetItems(c){var b=this.Function;var a=this.pager;$(this.pagerDiv).html("");$.getJSON(this.actionUrl,{pageNumber:c},function(d){$.each(d,function(e,f){$(a.pagerDiv).append(b(f))})})}function GetPage(a,b){$(this.currentPage).css("font-weight","normal");$(b).css("font-weight","bold");this.currentPage=b;this.pager.UpdatePageNumbers=UpdatePageNumbers;this.pager.UpdatePageNumbers(a-1);this.pager.SetItems=SetItems;this.pager.SetItems(a-1)}function GetNextPage(){if(this.currentPageNo<this.totalPages-1){this.pager.GetPage(this.currentPageNo+2)}}function GetPreviousPage(){if(this.currentPageNo>0){this.pager.GetPage(this.currentPageNo)}}function SetPreviousButtonClass(a){this.previousCssClass=a}function SetNextButtonClass(a){this.nextCssClass=a}function SetPreviousButtonName(a){this.previousName=a}function SetNextButtonName(a){this.nextName=a}function SetNoOfItems(a){this.noOfItems=a;this.totalPages=this.noOfItems/this.itemsPerPage|0;if(this.noOfItems%this.itemsPerPage!=0){this.totalPages++}InitPage()}function InitPage(){this.pager.SetItems(this.currentPageNo);this.pager.InitPageNumbers()}function InitPageNumbers(){var a=this.pager;$(this.pagerNumDiv).html("");var e=$("<span class='"+this.previousCssClass+"'>"+this.previousName+"</span> ").click(function(){a.GetPreviousPage()});$(this.pagerNumDiv).append(e);$(this.pagerNumDiv).append("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");this.currentPage=$("<span>"+1+"</span> ").css("font-weight","bold");$(this.currentPage).click(function(){a.GetPage($(this).html(),this)});$(this.pagerNumDiv).append(this.currentPage);$(this.pagerNumDiv).append(" ");for(var b=1;b<this.totalPages;b++){if(b<this.maxPages){var d=$("<span>"+(b+1)+"</span>").click(function(){a.GetPage($(this).html(),this)});$(this.pagerNumDiv).append(d);$(this.pagerNumDiv).append(" ")}else{break}}$(this.pagerNumDiv).append("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");var c=$("<span  class='"+this.nextCssClass+"'>"+this.nextName+"</span> ").click(function(){a.GetNextPage()});$(this.pagerNumDiv).append(c)}function UpdatePageNumbers(b){$(this.pagerNumDiv).html("");if(this.totalPages>this.maxPages){var f=b-(((this.pageBegin+this.pageEnd)/2)|0);if(this.pageEnd+f<=this.totalPages){this.pageEnd+=f}if(b<this.maxPages&&this.pageEnd<this.maxPages){this.pageEnd=this.maxPages;this.pageBegin=0}this.pageBegin=this.pageEnd-this.maxPages}else{this.pageEnd=this.totalPages;this.pageBegin=0}var a=this.pager;var e=$("<span class='"+this.previousCssClass+"'>"+this.previousName+"</span> ").click(function(){a.GetPreviousPage()});$(this.pagerNumDiv).append(e);$(this.pagerNumDiv).append("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");for(i=this.pageBegin;i<this.pageEnd;i++){if(i==b){var d=$("<span>"+(i+1)+"</span>").click(function(){a.GetPage($(this).html(),this)});$(d).css("font-weight","bold");$(this.pagerNumDiv).append(d);$(this.pagerNumDiv).append(" ")}else{var d=$("<span>"+(i+1)+"</span>").click(function(){a.GetPage($(this).html(),this)});$(this.pagerNumDiv).append(d);$(this.pagerNumDiv).append(" ")}}$(this.pagerNumDiv).append("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;");var c=$("<span  class='"+this.nextCssClass+"'>"+this.nextName+"</span> ").click(function(){a.GetNextPage()});$(this.pagerNumDiv).append(c);this.currentPageNo=b}function Pager(){this.InitPager=InitPager;this.SetItems=SetItems;this.GetNextPage=GetNextPage;this.GetPreviousPage=GetPreviousPage;this.GetPage=GetPage;this.InitPageNumbers=InitPageNumbers;this.SetNextButtonClass=SetNextButtonClass;this.SetPreviousButtonClass=SetPreviousButtonClass;this.SetNextButtonName=SetNextButtonName;this.SetPreviousButtonName=SetPreviousButtonName;this.SetNoOfItems=SetNoOfItems;this.InitPage=InitPage;this.noOfItems;this.itemsPerPage;this.actionUrl;this.pagerDiv;this.pagerNumDiv;this.maxPages;this.totalPages;this.pageBegin;this.pageEnd;this.currentPageNo;this.currentPage;this.Function;this.previousCssClass="PreviousCssClass";this.nextCssClass="NextCssClass",this.pager=this;this.nextName="next";this.previousName="previous"};
