function PagerLocalization(){}PagerLocalization.prototype={nextButtonName:"Next",previousButtonName:"Previous",firstButtonName:"First",lastButtonName:"Last",nextGroupButtonName:"Next Group",previousGroupButtonName:"Previous Group"};function PagerTheme(){}PagerTheme.prototype={nextButtonClass:"pageButton",previousButtonClass:"pageButton",firstButtonClass:"pageButton",lastButtonClass:"pageButton",nextGroupButtonClass:"pageButton",previousGroupButtonClass:"pageButton",pageNumberClass:"pageNumber",currentPageNumberClass:"currentPageNumber"};function PagerSettings(){}PagerSettings.prototype={firstLastButton:true,nextPrevGroupButton:true,pagerID:"",numberSpacing:"&nbsp;&nbsp;",noOfItems:13,totalPages:10,itemsPerPage:5,currentPageNo:0,maxPages:5,begin:0,end:5,Trigger:null};function Pager(a,b,c){this.PagerLocalization=$.extend(PagerLocalization.prototype,c);this.PagerTheme=$.extend(PagerTheme.prototype,b);this.PagerSettings=$.extend(PagerSettings.prototype,a);this.InitializePager=InitializePager;this.SetPagerNumbers=SetPagerNumbers;this.GetPage=GetPage;this.GetNextPage=GetNextPage;this.GetPreviousPage=GetPreviousPage;this.GetFirstPage=GetFirstPage;this.GetLastPage=GetLastPage;this.GetNextGroupPage=GetNextGroupPage;this.GetPreviousGroupPage=GetPreviousGroupPage;InitializePager(this)}function InitializePager(a){a.PagerSettings.totalPages=a.PagerSettings.noOfItems/a.PagerSettings.itemsPerPage|0;if(a.PagerSettings.noOfItems%a.PagerSettings.itemsPerPage!=0){a.PagerSettings.totalPages++}if(a.PagerSettings.totalPages>a.PagerSettings.maxPages){var b=a.PagerSettings.currentPageNo-(((a.PagerSettings.begin+a.PagerSettings.end)/2)|0);if(a.PagerSettings.end+b<=a.PagerSettings.totalPages){a.PagerSettings.end+=b}else{a.PagerSettings.end=a.PagerSettings.totalPages}if(a.PagerSettings.currentPageNo<a.PagerSettings.maxPages&&a.PagerSettings.end<a.PagerSettings.maxPages){a.PagerSettings.end=a.PagerSettings.maxPages;a.PagerSettings.begin=0}a.PagerSettings.begin=a.PagerSettings.end-a.PagerSettings.maxPages}else{a.PagerSettings.end=a.PagerSettings.totalPages;a.PagerSettings.begin=0}SetPagerNumbers(a)}function SetPagerNumbers(c){$(c.PagerSettings.pagerID).html("");var f=$("<span class='"+c.PagerTheme.firstButtonClass+"'>"+c.PagerLocalization.firstButtonName+"</span> ").click(function(){c.GetFirstPage(c)});var g=$("<span class='"+c.PagerTheme.previousButtonClass+"'>"+c.PagerLocalization.previousButtonName+"</span> ").click(function(){c.GetPreviousPage(c)});var a=$("<span class='"+c.PagerTheme.previousGroupButtonClass+"'>"+c.PagerLocalization.previousGroupButtonName+"</span> ").click(function(){c.GetPreviousGroupPage(c)});if(c.PagerSettings.firstLastButton){$(c.PagerSettings.pagerID).append(f);$(c.PagerSettings.pagerID).append(c.PagerSettings.numberSpacing)}if(c.PagerSettings.nextPrevGroupButton){$(c.PagerSettings.pagerID).append(a);$(c.PagerSettings.pagerID).append(c.PagerSettings.numberSpacing)}$(c.PagerSettings.pagerID).append(g);$(c.PagerSettings.pagerID).append(c.PagerSettings.numberSpacing);for(var e=c.PagerSettings.begin;e<c.PagerSettings.end;e++){var j=$("<span>"+(e+1)+"</span>").click(function(){c.GetPage(c,$(this).html())});if(e==c.PagerSettings.currentPageNo){$(j).addClass(c.PagerTheme.currentPageNumberClass)}else{$(j).addClass(c.PagerTheme.pageNumberClass)}$(c.PagerSettings.pagerID).append(j);$(c.PagerSettings.pagerID).append(c.PagerSettings.numberSpacing)}var d=$("<span  class='"+c.PagerTheme.nextGroupButtonClass+"'>"+c.PagerLocalization.nextGroupButtonName+"</span> ").click(function(){c.GetNextGroupPage(c)});var h=$("<span  class='"+c.PagerTheme.nextButtonClass+"'>"+c.PagerLocalization.nextButtonName+"</span> ").click(function(){c.GetNextPage(c)});var b=$("<span class='"+c.PagerTheme.lastButtonClass+"'>"+c.PagerLocalization.lastButtonName+"</span> ").click(function(){c.GetLastPage(c)});$(c.PagerSettings.pagerID).append(h);if(c.PagerSettings.nextPrevGroupButton){$(c.PagerSettings.pagerID).append(c.PagerSettings.numberSpacing);$(c.PagerSettings.pagerID).append(d)}if(c.PagerSettings.firstLastButton){$(c.PagerSettings.pagerID).append(c.PagerSettings.numberSpacing);$(c.PagerSettings.pagerID).append(b)}}function GetPage(b,a){b.PagerSettings.Trigger(a)}function GetNextPage(a){if(a.PagerSettings.currentPageNo<a.PagerSettings.totalPages-1){a.GetPage(a,a.PagerSettings.currentPageNo+2)}}function GetPreviousPage(a){if(a.PagerSettings.currentPageNo>0){a.GetPage(a,a.PagerSettings.currentPageNo)}}function GetFirstPage(a){a.GetPage(a,1)}function GetLastPage(a){a.GetPage(a,a.PagerSettings.totalPages)}function GetNextGroupPage(a){if(a.PagerSettings.end+((a.PagerSettings.maxPages/2)|0)+1<a.PagerSettings.totalPages-1){a.GetPage(a,a.PagerSettings.end+((a.PagerSettings.maxPages/2)|0)+1)}else{a.GetLastPage(a)}}function GetPreviousGroupPage(a){if(a.PagerSettings.begin-((a.PagerSettings.maxPages/2)|0)>0){a.GetPage(a,a.PagerSettings.begin-((a.PagerSettings.maxPages/2)|0))}else{a.GetFirstPage(a)}}Pager.prototype={SetPagerTheme:function(a){this.PagerTheme=$.extend(this.PagerTheme,a)},SetPagerLocalization:function(a){this.PagerLocalization=$.extend(this.PagerLocalization,a)},SetPagerSettings:function(a){this.PagerSettings=$.extend(this.Settings,a)}};
