// 現在のスクロール量を取得（汎用）
function getScroll(){
var x, y;
if(document.all !== void 0){ // IE4, IE5, IE6
x = document.body.scrollLeft;
y = document.body.scrollTop;
}else if(document.layers !== void 0 || (navigator.userAgent.indexOf("Opera") != -1 || window.opera !== void 0)){ // NN4, Opera6
x = window.pageXOffset;
y = window.pageYOffset;
}else if(navigator.userAgent.indexOf("Gecko") != -1){ // NS6, Mozilla
x = window.scrollX;
y = window.scrollY;
}else{
x = y = 0;
}
return {x: x, y: y};
}

// スクロール始めのスクロール量
var SCROLL;

var divCountScroller = 30; // 分割数（何段階でスクロールするか）

// 現在のスクロール位置から、指定座標までスクロールします
// 使用方法は BODY部ソースを参考
function scroller(x, y, count){
if(count === void 0){
count = 0;
SCROLL = getScroll();
}

if(count++ < divCountScroller){
var c = count/divCountScroller;

var nx = SCROLL.x+(x-SCROLL.x)*c;
var ny = SCROLL.y+(y-SCROLL.y)*c;

window.scrollTo(nx, ny);

setTimeout("scroller("+x+","+y+","+count+");", 10); // 再描画時間 10[msec] 小さい程早い
}
}