var a,Paginator=function(b,c,d,e,f){if(!document.getElementById(b)||!c||!d)return false;this.inputData={paginatorHolderId:b,pagesTotal:c,pagesSpan:d<c?d:c,pageCurrent:e,baseUrl:f?f:"/pages/"};this.html={holder:null,table:null,trPages:null,trScrollBar:null,tdsPages:null,scrollBar:null,scrollThumb:null,pageCurrentMark:null};this.prepareHtml();this.initScrollThumb();this.initPageCurrentMark();this.initEvents();this.scrollToPageCurrent()};a=Paginator.prototype;
a.prepareHtml=function(){this.html.holder=document.getElementById(this.inputData.paginatorHolderId);this.html.holder.innerHTML=this.makePagesTableHtml();this.html.table=this.html.holder.getElementsByTagName("table")[0];this.html.tdsPages=this.html.table.getElementsByTagName("tr")[0].getElementsByTagName("td");this.html.scrollBar=getElementsByClassName(this.html.table,"div","scroll_bar")[0];this.html.scrollThumb=getElementsByClassName(this.html.table,"div","scroll_thumb")[0];this.html.pageCurrentMark=
getElementsByClassName(this.html.table,"div","current_page_mark")[0];this.inputData.pagesSpan==this.inputData.pagesTotal&&addClass(this.html.holder,"fullsize")};
a.makePagesTableHtml=function(){for(var b=100/this.inputData.pagesSpan+"%",c='<table width="100%"><tr>',d=1;d<=this.inputData.pagesSpan;d++)c+='<td width="'+b+'"></td>';c+='</tr><tr><td colspan="'+this.inputData.pagesSpan+'"><div class="scroll_bar"><div class="scroll_trough"></div><div class="scroll_thumb"><div class="scroll_knob"></div></div><div class="current_page_mark"></div></div></td></tr></table>';return c};
a.initScrollThumb=function(){this.html.scrollThumb.widthMin="8";this.html.scrollThumb.widthPercent=this.inputData.pagesSpan/this.inputData.pagesTotal*100;this.html.scrollThumb.xPosPageCurrent=(this.inputData.pageCurrent-Math.round(this.inputData.pagesSpan/2))/this.inputData.pagesTotal*this.html.table.offsetWidth;this.html.scrollThumb.xPos=this.html.scrollThumb.xPosPageCurrent;this.html.scrollThumb.xPosMin=0;this.setScrollThumbWidth()};
a.setScrollThumbWidth=function(){this.html.scrollThumb.style.width=this.html.scrollThumb.widthPercent+"%";this.html.scrollThumb.widthActual=this.html.scrollThumb.offsetWidth;if(this.html.scrollThumb.widthActual<this.html.scrollThumb.widthMin)this.html.scrollThumb.style.width=this.html.scrollThumb.widthMin+"px";this.html.scrollThumb.xPosMax=this.html.table.offsetWidth-this.html.scrollThumb.widthActual};a.moveScrollThumb=function(){this.html.scrollThumb.style.left=this.html.scrollThumb.xPos+"px"};
a.initPageCurrentMark=function(){this.html.pageCurrentMark.widthMin="3";this.html.pageCurrentMark.widthPercent=100/this.inputData.pagesTotal;this.setPageCurrentPointWidth();this.movePageCurrentPoint()};
a.setPageCurrentPointWidth=function(){this.html.pageCurrentMark.style.width=this.html.pageCurrentMark.widthPercent+"%";this.html.pageCurrentMark.widthActual=this.html.pageCurrentMark.offsetWidth;if(this.html.pageCurrentMark.widthActual<this.html.pageCurrentMark.widthMin)this.html.pageCurrentMark.style.width=this.html.pageCurrentMark.widthMin+"px"};
a.movePageCurrentPoint=function(){this.html.pageCurrentMark.style.left=this.html.pageCurrentMark.widthActual<this.html.pageCurrentMark.offsetWidth?(this.inputData.pageCurrent-1)/this.inputData.pagesTotal*this.html.table.offsetWidth-this.html.pageCurrentMark.offsetWidth/2+"px":(this.inputData.pageCurrent-1)/this.inputData.pagesTotal*this.html.table.offsetWidth+"px"};
a.initEvents=function(){var b=this;this.html.scrollThumb.onmousedown=function(c){if(!c)c=window.event;c.cancelBubble=true;c.stopPropagation&&c.stopPropagation();var d=getMousePosition(c).x-this.xPos;document.onmousemove=function(e){if(!e)e=window.event;b.html.scrollThumb.xPos=getMousePosition(e).x-d;b.moveScrollThumb();b.drawPages()};document.onmouseup=function(){document.onmousemove=null;b.enableSelection()};b.disableSelection()};this.html.scrollBar.onmousedown=function(c){if(!c)c=window.event;if(!matchClass(b.paginatorBox,
"fullsize")){b.html.scrollThumb.xPos=getMousePosition(c).x-getPageX(b.html.scrollBar)-b.html.scrollThumb.offsetWidth/2;b.moveScrollThumb();b.drawPages()}};addEvent(window,"resize",function(){Paginator.resizePaginator(b)})};
a.drawPages=function(){var b=Math.round(this.html.scrollThumb.xPos/this.html.table.offsetWidth*this.inputData.pagesTotal),c="";if(b<1){b=1;this.html.scrollThumb.xPos=0;this.moveScrollThumb()}else if(b>=this.inputData.pagesTotal-this.inputData.pagesSpan){b=this.inputData.pagesTotal-this.inputData.pagesSpan+1;this.html.scrollThumb.xPos=this.html.table.offsetWidth-this.html.scrollThumb.offsetWidth;this.moveScrollThumb()}for(var d=0;d<this.html.tdsPages.length;d++){c=b+d;c=c==this.inputData.pageCurrent?
"<span><strong>"+c+"</strong></span>":"<span><a href='"+this.inputData.baseUrl+c+".html'>"+c+"</a></span>";this.html.tdsPages[d].innerHTML=c}};a.scrollToPageCurrent=function(){this.html.scrollThumb.xPosPageCurrent=(this.inputData.pageCurrent-Math.round(this.inputData.pagesSpan/2))/this.inputData.pagesTotal*this.html.table.offsetWidth;this.html.scrollThumb.xPos=this.html.scrollThumb.xPosPageCurrent;this.moveScrollThumb();this.drawPages()};
a.disableSelection=function(){document.onselectstart=function(){return false};this.html.scrollThumb.focus()};a.enableSelection=function(){document.onselectstart=function(){return true}};Paginator.resizePaginator=function(b){b.setPageCurrentPointWidth();b.movePageCurrentPoint();b.setScrollThumbWidth();b.scrollToPageCurrent()};function getElementsByClassName(b,c,d){b=b.getElementsByTagName(c);if(!d)return b;c=[];for(var e=0;e<b.length;e++)if(matchClass(b[e],d))c[c.length]=b[e];return c}
function addClass(b,c){replaceClass(b,c,"")}function removeClass(b,c){replaceClass(b,"",c)}function replaceClass(b,c,d){var e=c;if(d&&d.length){d=d.replace(/\s+(\S)/g,"|$1");if(e.length)e+="|";e+=d}b.className=b.className.replace(new RegExp("(^|\\s+)("+e+")($|\\s+)","g"),"$1");b.className+=(b.className.length?" ":"")+c}function matchClass(b,c){return b&&b.className.length&&b.className.match(new RegExp("(^|\\s+)("+c+")($|\\s+)"))}
function addEvent(b,c,d){if(b.addEventListener)b.addEventListener(c,d,false);else b.attachEvent&&b.attachEvent("on"+c,d)}function removeEvent(b,c,d){if(b.removeEventListener)b.removeEventListener(c,d,false);else b.detachEvent&&b.detachEvent("on"+c,d)}function getPageY(b){for(var c=b.offsetTop;b.offsetParent!=null;){b=b.offsetParent;c+=b.offsetTop;if(b.tagName=="BODY")break}return c}
function getPageX(b){for(var c=b.offsetLeft;b.offsetParent!=null;){b=b.offsetParent;c+=b.offsetLeft;if(b.tagName=="BODY")break}return c}function getMousePosition(b){if(b.pageX||b.pageY)var c=b.pageX,d=b.pageY;else if(b.clientX||b.clientY){c=b.clientX+document.body.scrollLeft+document.documentElement.scrollLeft;d=b.clientY+document.body.scrollTop+document.documentElement.scrollTop}return{x:c,y:d}};