
var t, speed, h;

var posY;
var xRoot, xTarget;
var interval;

function acceleration(t) {
    return Math.sin(t*2.0*3.1415);
}

function scrollStep() {
    speed = speed + h*acceleration(t);
    t = Math.min(t + h*speed, 1.0);
    
    var posX = (1.0-t)*xRoot + t*xTarget;
    window.scrollTo(posX, posY);
    
    if (t >= 1.0 || posX >= xTarget) {
        window.clearInterval(interval);
    }
}

function scroll() {
    var x;
    if (window.pageXOffset) {
        // Every normal browser
        x = window.pageXOffset;
        posY = window.pageYOffset;
    } else if (document.documentElement && document.documentElement.scrollTop) {
        // Stupid IE 6 strict
        x = document.documentElement.scrollLeft;
        posY = document.documentElement.scrollTop;
    } else if (document.body) {
        // All other bloody IE "browsers"
        x = document.body.scrollLeft;
        posY = document.body.scrollTop;
    }
    t = 0.0;
    speed = 0.03;
    h = 0.15;
    
    xRoot = x;
    xTarget = window.outerWidth+x;
    interval = window.setInterval('scrollStep();', 30);
}
