var tinyScrolling={speed:50,maxStep:150,brakeK:3,hash:null,currentBlock:null,requestedY:0,init:function(){var B=document.getElementsByTagName("a");for(var A=0,C;C=B[A];A++){if((C.href&&C.href.indexOf("#")!=-1)&&((C.pathname==location.pathname)||("/"+C.pathname==location.pathname))&&(C.search==location.search)){C.onclick=tinyScrolling.initScroll}}},getElementYpos:function(A){var B=0;while(A.offsetParent){B+=A.offsetTop;A=A.offsetParent}return B},getScrollTop:function(){if(document.all){return(document.documentElement.scrollTop)?document.documentElement.scrollTop:document.body.scrollTop}else{return window.pageYOffset}},getWindowHeight:function(){if(window.innerHeight){return window.innerHeight}if(document.documentElement&&document.documentElement.clientHeight){return document.documentElement.clientHeight}},getDocumentHeight:function(){if(document.height){return document.height}if(document.body.offsetHeight){return document.body.offsetHeight}},initScroll:function(B){var A;if(!B){var B=window.event}if(B.target){A=B.target}else{if(B.srcElement){A=B.srcElement}}tinyScrolling.hash=A.href.substr(A.href.indexOf("#")+1,A.href.length);tinyScrolling.currentBlock=document.getElementById(tinyScrolling.hash);if(!tinyScrolling.currentBlock){return }tinyScrolling.requestedY=tinyScrolling.getElementYpos(tinyScrolling.currentBlock);tinyScrolling.scroll();return false},scroll:function(){var B=tinyScrolling.getScrollTop();if(tinyScrolling.requestedY>B){var A=Math.round((tinyScrolling.getDocumentHeight()-(B+tinyScrolling.getWindowHeight()))/tinyScrolling.brakeK);A=Math.min(Math.round((tinyScrolling.requestedY-B)/tinyScrolling.brakeK),A);var C=Math.max(2,Math.min(A,tinyScrolling.maxStep))}else{var C=-Math.min(Math.abs(Math.round((tinyScrolling.requestedY-B)/tinyScrolling.brakeK)),tinyScrolling.maxStep)}window.scrollTo(0,B+C);if(Math.abs(B-tinyScrolling.requestedY)<=1||tinyScrolling.getScrollTop()==B){window.scrollTo(0,tinyScrolling.requestedY);if(!document.all||window.opera){location.hash=tinyScrolling.hash}tinyScrolling.hash=null}else{setTimeout(tinyScrolling.scroll,tinyScrolling.speed)}}};addLoadEvent(tinyScrolling.init);