tablePaginater={tableInfo:{},uniqueID:0,text:["First Page","Previous Page (Page %p)","Next Page (Page %p)","Last Page (Page %t)","Page %p of %t"],addEvent:function(d,c,b,a){a||(a=true);if(d.attachEvent){d["e"+c+b]=b;d[c+b]=function(){d["e"+c+b](window.event)};d.attachEvent("on"+c,d[c+b])}else{d.addEventListener(c,b,true)}},addClass:function(a,b){if(new RegExp("(^|\\s)"+b+"(\\s|$)").test(a.className)){return}a.className+=(a.className?" ":"")+b},
/*@cc_on
        /*@if (@_win32)
        removeClass: function(e,c) {
                e.className = !c ? "" : e.className.replace(new RegExp("(^|\\s)" + c + "(\\s|$)"), " ").replace(/^\s*((?:[\S\s]*\S)?)\s*$/, '$1');
        },
        @else @*/
removeClass:function(a,b){a.className=!b?"":a.className.replace(new RegExp("(^|\\s)"+b+"(\\s|$)")," ").replace(/^\s\s*/,"").replace(/\s\s*$/,"")},
/*@end
        @*/
init:function(b){var i=b&&typeof(b)=="string"?[document.getElementById(b)]:document.getElementsByTagName("table");var h,k,a,c,g,d,f;for(var j=0,e;e=i[j];j++){if(e.className.search(/paginate-([0-9]+)/)==-1){continue}if(!e.id){e.id="fdUniqueTableId_"+tablePaginater.uniqueID++}k=e.className.search(/max-pages-([0-9]+)/)==-1?null:Number(e.className.match(/max-pages-([0-9]+)/)[1]);if(k%2==0&&k>1){k--}h=e.getElementsByTagName("tbody");h=(h.length)?h[0]:e;a=tablePaginater.calculateVisibleRows(h);if(k>(a/Number(e.className.match(/paginate-([0-9]+)/)[1]))){k=null}c=Math.ceil(a/Number(e.className.match(/paginate-([0-9]+)/)[1]));if(c<2&&!(e.id in tablePaginater.tableInfo)){continue}g=(e.id in tablePaginater.tableInfo)?Math.min(tablePaginater.tableInfo[e.id].currentPage,c):1;d=e.className.search(/paginationcallback-([\S-]+)/)==-1?"":e.className.match(/paginationcallback-([\S]+)/)[1];d=d.replace("-",".");tablePaginater.tableInfo[e.id]={rowsPerPage:Number(e.className.match(/paginate-([0-9]+)/)[1]),currentPage:g,totalRows:h.getElementsByTagName("tr").length,hook:h,maxPages:k,numPages:c,rowStyle:e.className.search(/rowstyle-([\S]+)/)!=-1?e.className.match(/rowstyle-([\S]+)/)[1]:false,callback:d||"paginationCallback"};tablePaginater.showPage(e.id);h=null}},calculateVisibleRows:function(f){var a=f.rows;var c=0;var d=/(^|\s)invisibleRow(\s|$)/;for(var b=0,e;e=a[b];b++){if(e.parentNode!=f||e.getElementsByTagName("th").length||(e.parentNode&&e.parentNode.tagName.toLowerCase().search(/thead|tfoot/)!=-1)){continue}if(e.className.search(d)==-1){c++}}return c},createButton:function(d,c,f){var b=document.createElement("li");var a=document.createElement(f?"div":"a");var e=document.createElement("span");if(!f){a.href="#"}if(!f){a.title=d.title}a.className=d.className;c.appendChild(b);b.appendChild(a);a.appendChild(e);e.appendChild(document.createTextNode(d.text));if(!f){b.onclick=a.onclick=tablePaginater.buttonClick}if(!f&&d.id){a.id=d.id}b=a=e=null},removePagination:function(b){var a=document.getElementById(b+"-fdtablePaginaterWrapTop");var c=document.getElementById(b+"-fdtablePaginaterWrapBottom");if(a){a.parentNode.removeChild(a)}if(c){c.parentNode.removeChild(c)}},buildPagination:function(f){if(!(f in tablePaginater.tableInfo)){return}tablePaginater.removePagination(f);var e=tablePaginater.tableInfo[f];if(e.numPages<2){return}function h(i,j){j=j||e.currentPage;return i.replace("%p",j).replace("%t",e.numPages)}if(e.maxPages){findex=Math.max(0,Math.floor(Number(e.currentPage-1)-(Number(e.maxPages-1)/2)));lindex=findex+Number(e.maxPages);if(lindex>e.numPages){lindex=e.numPages;findex=Math.max(0,e.numPages-Number(e.maxPages))}}else{findex=0;lindex=e.numPages}var b=document.createElement("div");b.className="fdtablePaginaterWrap";b.id=f+"-fdtablePaginaterWrapTop";var g=document.createElement("div");g.className="fdtablePaginaterWrap";g.id=f+"-fdtablePaginaterWrapBottom";var d=document.createElement("ul");d.id=f+"-tablePaginater";var a=document.createElement("ul");a.id=f+"-tablePaginaterClone";d.className=a.className="fdtablePaginater";b.appendChild(d);g.appendChild(a);if(e.maxPages){tablePaginater.createButton({title:tablePaginater.text[0],className:"first-page",text:"\u00ab"},d,!findex);tablePaginater.createButton({title:tablePaginater.text[0],className:"first-page",text:"\u00ab"},a,!findex)}if(e.numPages>2){tablePaginater.createButton({title:h(tablePaginater.text[1],e.currentPage-1),className:"previous-page",text:"\u2039",id:f+"-previousPage"},d,e.currentPage==1);tablePaginater.createButton({title:h(tablePaginater.text[1],e.currentPage-1),className:"previous-page",text:"\u2039",id:f+"-previousPageC"},a,e.currentPage==1)}for(var c=findex;c<lindex;c++){tablePaginater.createButton({title:h(tablePaginater.text[4],c+1),className:c!=(e.currentPage-1)?"page-"+(c+1):"currentPage page-"+(c+1),text:(c+1),id:c==(e.currentPage-1)?f+"-currentPage":""},d);tablePaginater.createButton({title:h(tablePaginater.text[4],c+1),className:c!=(e.currentPage-1)?"page-"+(c+1):"currentPage page-"+(c+1),text:(c+1),id:c==(e.currentPage-1)?f+"-currentPageC":""},a)}if(e.numPages>2){tablePaginater.createButton({title:h(tablePaginater.text[2],e.currentPage+1),className:"next-page",text:"\u203a",id:f+"-nextPage"},d,e.currentPage==e.numPages);tablePaginater.createButton({title:h(tablePaginater.text[2],e.currentPage+1),className:"next-page",text:"\u203a",id:f+"-nextPageC"},a,e.currentPage==e.numPages)}if(e.maxPages){tablePaginater.createButton({title:h(tablePaginater.text[3],e.numPages),className:"last-page",text:"\u00bb"},d,lindex==e.numPages);tablePaginater.createButton({title:h(tablePaginater.text[3],e.numPages),className:"last-page",text:"\u00bb"},a,lindex==e.numPages)}if(document.getElementById(f+"-paginationListWrapTop")){document.getElementById(f+"-paginationListWrapTop").appendChild(b)}else{document.getElementById(f).parentNode.insertBefore(b,document.getElementById(f))}if(document.getElementById(f+"-paginationListWrapBottom")){document.getElementById(f+"-paginationListWrapBottom").appendChild(g)}else{document.getElementById(f).parentNode.insertBefore(g,document.getElementById(f).nextSibling)}},redraw:function(m,e){if(!m||!(m in fdTableSort.tableCache)||!(m in tablePaginater.tableInfo)){return}var o=fdTableSort.tableCache[m];var t=o.data;var k=t.length;var j=k?t[0].length-1:0;var n=o.hook;var c=o.colStyle;var s=o.rowStyle;var a=o.colOrder;var f=tablePaginater.tableInfo[m].currentPage-1;var v=tablePaginater.tableInfo[m].rowsPerPage*f;var u=Math.min(tablePaginater.tableInfo[m].totalRows,v+tablePaginater.tableInfo[m].rowsPerPage);var p=0;var l=0;var g=/(^|\s)invisibleRow(\s|$)/;var b,r,d,h;for(var q=0;q<k;q++){b=t[q][j];if(c){r=b.cells;for(thPos in a){if(!a[thPos]){tablePaginater.removeClass(r[thPos],c)}else{tablePaginater.addClass(r[thPos],c)}}}if(b.className.search(g)!=-1){continue}if(!e){p++;if(p>v&&p<=u){if(s){if(l++&1){tablePaginater.addClass(b,s)}else{tablePaginater.removeClass(b,s)}}b.style.display=""}else{b.style.display="none"}n.appendChild(b)}}b=r=n=null},showPage:function(d,m){if(!(d in tablePaginater.tableInfo)){return}var l=!m?tablePaginater.tableInfo[d].currentPage-1:m-1;var c=tablePaginater.tableInfo[d].rowsPerPage*l;var b=Math.min(tablePaginater.tableInfo[d].totalRows,c+tablePaginater.tableInfo[d].rowsPerPage);var k=tablePaginater.tableInfo[d].hook.rows;var f=0;var a=0;var j=k.length;var g=tablePaginater.tableInfo[d].rowStyle;var e=/(^|\s)invisibleRow(\s|$)/;for(var h=0;h<j;h++){if(k[h].getElementsByTagName("th").length||(k[h].parentNode&&k[h].parentNode.tagName.toLowerCase().search(/thead|tfoot/)!=-1)){continue}if(k[h].className.search(e)!=-1){continue}f++;if(f>c&&f<=b){if(g){if(a++&1){tablePaginater.addClass(k[h],g)}else{tablePaginater.removeClass(k[h],g)}}k[h].style.display=""}else{k[h].style.display="none"}}tablePaginater.buildPagination(d);tablePaginater.callback(d)},callback:function(c){var d;if(tablePaginater.tableInfo[c].callback.indexOf(".")!=-1){var b=tablePaginater.tableInfo[c].callback.split(".");d=window;for(var a=0,e;e=b[a];a++){if(e in d){d=d[e]}else{d="";break}}}else{if(tablePaginater.tableInfo[c].callback in window){d=window[tablePaginater.tableInfo[c].callback]}}if(typeof d=="function"){d(c)}d=null},buttonClick:function(e){e=e||window.event;var a=this.tagName.toLowerCase()=="a"?this:this.getElementsByTagName("a")[0];if(a.className.search("currentPage")!=-1){return false}var ul=this;while(ul.tagName.toLowerCase()!="ul"){ul=ul.parentNode}var tblId=ul.id.replace("-tablePaginaterClone","").replace("-tablePaginater","");tablePaginater.tableInfo[tblId].lastPage=tablePaginater.tableInfo[tblId].currentPage;var showPrevNext=0;if(a.className.search("previous-page")!=-1){tablePaginater.tableInfo[tblId].currentPage=tablePaginater.tableInfo[tblId].currentPage>1?tablePaginater.tableInfo[tblId].currentPage-1:tablePaginater.tableInfo[tblId].numPages;showPrevNext=1}else{if(a.className.search("next-page")!=-1){tablePaginater.tableInfo[tblId].currentPage=tablePaginater.tableInfo[tblId].currentPage<tablePaginater.tableInfo[tblId].numPages?tablePaginater.tableInfo[tblId].currentPage+1:1;showPrevNext=2}else{if(a.className.search("first-page")!=-1){tablePaginater.tableInfo[tblId].currentPage=1}else{if(a.className.search("last-page")!=-1){tablePaginater.tableInfo[tblId].currentPage=tablePaginater.tableInfo[tblId].numPages}else{tablePaginater.tableInfo[tblId].currentPage=parseInt(a.className.match(/page-([0-9]+)/)[1])||1}}}}tablePaginater.showPage(tblId);if(showPrevNext==1){var elem=document.getElementById(ul.id.search("-tablePaginaterClone")!=-1?tblId+"-previousPageC":tblId+"-previousPage")}else{if(showPrevNext==2){var elem=document.getElementById(ul.id.search("-tablePaginaterClone")!=-1?tblId+"-nextPageC":tblId+"-nextPage")}else{var elem=document.getElementById(ul.id.search("-tablePaginaterClone")!=-1?tblId+"-currentPageC":tblId+"-currentPage")}}if(elem&&elem.tagName.toLowerCase()=="a"){elem.focus()}if(e.stopPropagation){e.stopPropagation();e.preventDefault()}
/*@cc_on
                @if(@_win32)
                e.cancelBubble = true;
                e.returnValue  = false;
                @end
                @*/
return false},onUnLoad:function(h){var g,c,b,f;for(tblId in tablePaginater.tableInfo){f=[tblId+"-tablePaginater",tblId+"-tablePaginaterClone"];for(var j=0;j<2;j++){b=document.getElementById(f[j]);if(!b){continue}c=b.getElementsByTagName("li");for(var d=0,a;a=c[d];d++){a.onclick=null;if(a.getElementsByTagName("a").length){a.getElementsByTagName("a")[0].onclick=null}}}}}};tablePaginater.addEvent(window,"load",tablePaginater.init);tablePaginater.addEvent(window,"unload",tablePaginater.onUnLoad);