// JavaScript Document
window.onload = function() {
Scrolling.init(); MouseScrollInit();
}
var Scrolling = {
speed : 5,
maxStep: 100,
brakeK: 1,
hash:null,
currentBlock:null,
requestedX:0,
init: function() {
var lnks = document.getElementsByTagName('a');
for(var i = 0, lnk; lnk = lnks[i]; i++) {
if ((lnk.href && lnk.href.indexOf('#') != -1) && ( (lnk.pathname == location.pathname) ||
('/'+lnk.pathname == location.pathname) ) && (lnk.search == location.search)) {
lnk.onclick = Scrolling.initScroll;
}  
}  
},
getElementXpos: function(el){
var x = 0;
while(el.offsetParent){
x += el.offsetLeft;
el = el.offsetParent;
} return x;
},
getScrollLeft: function(){
if(document.all) return (document.documentElement.scrollLeft) ? document.documentElement.scrollLeft : document.body.scrollLeft;
else return window.pageXOffset;
},
initScroll: function(e){
var targ;
if (!e) var e = window.event;
if (e.target) targ = e.target;
else if (e.srcElement) targ = e.srcElement;
Scrolling.hash = targ.href.substr(targ.href.indexOf('#')+1,targ.href.length);
Scrolling.currentBlock = document.getElementById(Scrolling.hash);
if(!Scrolling.currentBlock) return;
Scrolling.requestedX = Scrolling.getElementXpos(Scrolling.currentBlock);
Scrolling.scroll();
return false;
},
scroll: function(){
var left = Scrolling.getScrollLeft();
if(Scrolling.requestedX > left) {
var offset = Math.min(Math.abs(Math.round((Scrolling.requestedX-left)/Scrolling.brakeK)), Scrolling.maxStep);
} else { var offset = - Math.min(Math.abs(Math.round((Scrolling.requestedX-left)/ Scrolling.brakeK)), Scrolling.maxStep);
} window.scrollTo(left + offset, 0);
if(Math.abs(left-Scrolling.requestedX) <= 1 || Scrolling.getScrollLeft() == left) {
window.scrollTo(Scrolling.requestedX, 0);
if(!document.all || window.opera) location.hash = Scrolling.hash;
Scrolling.hash = null;
} else  setTimeout(Scrolling.scroll,Scrolling.speed);
}  
}
function MouseScrollInit(){
if (window.addEventListener ) {
window.addEventListener("DOMMouseScroll", MouseScroll, false);
} else document.attachEvent("onmousewheel", MouseScroll);
}
function MouseScroll(e) {
if (!e) var e = window.event;
if (e.wheelDelta <= 0 || e.detail>=0){
window.scrollBy(80,0);
} else window.scrollBy(-80,0);
}