var is_scrolling = false;
function startScroll(scroll_id, by_x, by_y)
{
    if (is_scrolling) {
        stopScroll();
        window.setTimeout("startScroll('" + scroll_id + "', " + by_x + ", " + by_y + ");", 110);
        return;
    }
    document.onmouseup = stopScroll;
    is_scrolling = true;
    tryScrolling(scroll_id, by_x, by_y);
}

function stopScroll()
{
    is_scrolling = false;
}

function tryScrolling(scroll_id, by_x, by_y)
{
    if (is_scrolling) {
        var scroll_obj = document.getElementById(scroll_id);
        scroll_obj.scrollLeft += by_x;
        scroll_obj.scrollTop  += by_y;
        window.setTimeout("tryScrolling('" + scroll_id + "', " + by_x + ", " + by_y + ");", 100);
    }
}