function showID(idName){ 
if ( document.getElementById )
document.getElementById( idName ).style.visibility   = 'visible' 
else if ( document.all ) document.all( idName ).style.visibility = 'visible' 
else if ( document.layers ) document.layers[ idName ].visibility = 'show' 
}

function hideID(idName){ 
if ( document.getElementById )
document.getElementById( idName ).style.visibility   = 'hidden' 
else if ( document.all ) document.all( idName ).style.visibility = 'hidden' 
else if ( document.layers ) document.layers[ idName ].visibility = 'hide' 
}

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 = 48 ;
// 分割数（何段階でスクロールするか、初期値30）
// 現在のスクロール位置から、指定座標(x,y)までスクロール
// edging は加減速を決めるパラメータで -100～100 で指定
// 小さい程加速、大きいほど減速、0のとき等速
// 最初の呼び出し時、count は指定する必要なし
function scroller( x, y, edging, count ){
if( count === void 0 ){
count = 0 ;
SCROLL = getScroll();
}
if( count++ < divCountScroller ){
var c = count/divCountScroller ;
var nx = SCROLL.x+( x-SCROLL.x )*( c+edging/(100*Math.PI)*Math.sin( Math.PI*c ) );
var ny = SCROLL.y+( y-SCROLL.y )*( c+edging/(100*Math.PI)*Math.sin( Math.PI*c ) );
window.scrollTo( nx, ny );
setTimeout( "scroller("+x+","+y+","+edging+","+count+");", 10 ); // 再描画時間 10[msec] 小さい程早い
}
}