var TS={speed:20,maxStep:150,brakeK:5,hash:null,cB:null,rY:0,init:function(){var lnks=document.getElementsByTagName('a');for(var i=0,lnk;lnk=lnks[i];i++)if(lnk.href&&lnk.href.match(/#/)&&!lnk.onclick)lnk.onclick=TS.iScroll},getY:function(el){var y=0;while(el.offsetParent){y+=el.offsetTop;el=el.offsetParent}return y},getTop:function(){if(document.all)return(document.documentElement.scrollTop)?document.documentElement.scrollTop:document.body.scrollTop;else return window.pageYOffset},gWH:function(){if(window.innerHeight)return window.innerHeight;if(document.documentElement&&document.documentElement.clientHeight)return document.documentElement.clientHeight},gDH:function(){if(document.height)return document.height;if(document.body.offsetHeight)return document.body.offsetHeight},iScroll:function(e){var targ;if(!e)var e=window.event;if(e.target)targ=e.target;else if(e.srcElement)targ=e.srcElement;TS.hash=targ.href.substr(targ.href.indexOf('#')+1,targ.href.length);if(TS.hash=='top'){TS.rY=0}else{TS.cB=SDN.i(TS.hash);if(!TS.cB)return;TS.rY=TS.getY(TS.cB)}TS.scroll();return false},scroll:function(){var top=TS.getTop();if(TS.rY>top){var eD=Math.round((TS.gDH()-(top+TS.gWH()))/TS.brakeK);eD=Math.min(Math.round((TS.rY-top)/TS.brakeK),eD);var offset=Math.max(1,Math.min(eD,TS.maxStep))}else{var offset=-Math.min(Math.abs(Math.round((TS.rY-top)/TS.brakeK)),TS.maxStep)}window.scrollTo(0,top+offset);if(Math.abs(top-TS.rY)<=1||TS.getTop()==top){window.scrollTo(0,TS.rY);TS.hash=null}else{setTimeout(TS.scroll,TS.speed)}}};SDN.add(window,'load',TS.init)
