Scroller= { speed:3, gy: function (d) { gy = d.offsetTop
if (d.offsetParent) while (d = d.offsetParent) gy += d.offsetTop
return gy
}, scrollTop: function (){ body=document.body
d=document.documentElement
if (body && body.scrollTop) return body.scrollTop
if (d && d.scrollTop) return d.scrollTop
if (window.pageYOffset) return window.pageYOffset
return 0}, add: function(event, body, d) { if (event.addEventListener) return event.addEventListener(body, d,false)
if (event.attachEvent) return event.attachEvent('on'+body, d)
}, end: function(e){ if (window.event) { window.event.cancelBubble = true
window.event.returnValue = false
return;} if (e.preventDefault && e.stopPropagation) { e.preventDefault()
e.stopPropagation()}}, scroll: function(d){ i = window.innerHeight || document.documentElement.clientHeight; h=document.body.scrollHeight; a = Scroller.scrollTop()
if(d>a)
if(h-d>i)
a+=Math.ceil((d-a)/Scroller.speed)
else
a+=Math.ceil((d-a-(h-d))/Scroller.speed)
else
a = a+(d-a)/Scroller.speed; window.scrollTo(0,a)
if(a==d || Scroller.offsetTop==a)clearInterval(Scroller.interval)
Scroller.offsetTop=a}, init: function(){ Scroller.add(window,'load', Scroller.render)
}, render: function(){ var a = document.getElementsByTagName('a'); Scroller.end(this); for (var i=0, size=a.length;i<size;i++) { var l = a[i]; if(l.href && l.href.indexOf('#') != -1 && l.href.indexOf('#') != l.href.length-1 && ((l.pathname==location.pathname) || ('/'+l.pathname==location.pathname)) ){ Scroller.add(l,'click',Scroller.end); l.onclick = function(){ Scroller.end(this); var l=this.hash.substr(1), a = document.getElementsByTagName('a'); for (var i=0, size=a.length;i<size;i++) { if
(document.getElementById(l)) { clearInterval(Scroller.interval); Scroller.interval=setInterval('Scroller.scroll('+Scroller.gy(document.getElementById(l))+')',10);}}}}}}}
Scroller.init(); 