<script type="text/javascript">
var timer = 0;
var delay = 10; //msec
var scrollOffset = 5; //pixel
var docBody;

function init(){
docBody = document[getDocElName()];
}

function goDown(targetYPos) {
var y = docBody.scrollTop;
if (y<targetYPos){
window.scrollBy(0, scrollOffset);
timer = setTimeout('goDown('+targetYPos+')', delay);
}
else clearTimeout(timer);
return false;
}

function goUp(targetYPos) {
var y = docBody.scrollTop;
if (y>targetYPos){
window.scrollBy(0, -scrollOffset);
timer = setTimeout('goUp('+targetYPos+')', delay);
}
else clearTimeout(timer);
return false;
}

function goRight(targetXPos) {
var x = docBody.scrollLeft;
if (x<targetXPos){
window.scrollBy(scrollOffset, 0);
timer = setTimeout('goRight('+targetXPos+')', delay);
}
else clearTimeout(timer);
return false;
}

function goLeft(targetXPos) {
var x = docBody.scrollLeft;
if (x>targetXPos){
window.scrollBy(-scrollOffset, 0);
timer = setTimeout('goLeft('+targetXPos+')', delay);
}
else clearTimeout(timer);
return false;
}

function getDocElName(){
return (document.compatMode && document.compatMode == "CSS1Compat") ? "documentElement" : "body";
}
</script>