var ua = navigator.userAgent;
var bt_no;

if      (ua.indexOf("MSIE") >= 0)       br_no=1;   //IE
else if (ua.indexOf("Netscape") >= 0)	br_no=2;   //NN
else if (ua.indexOf("Safari") >= 0)     br_no=3;   //Safari
else if (ua.indexOf("Opera") >= 0)      br_no=4;   //Opera
else if (ua.indexOf("Firefox") >= 0)    br_no=5;   //Firefox
else if (ua.indexOf("Gecko") >= 0)      br_no=6;   //Mozilla
else if (ua.indexOf("Mozilla/4") >= 0)  br_no=7;   //NN
else									br_no=0;
//-----------------------------------------------------------------------------------
function getDivFromName(nm){
  if(document.getElementById) return document.getElementById(nm); 
  if(document.all) return document.all(nm); 
  if(document.layers){ 
    var s='';
    for(var i=1; i<arguments.length; i++)
      s+='document.layers.'+arguments[i]+'.';
    return eval(s+'document.layers.'+nm);
  }
  return null;
}

function initDivSize(div){
  if(document.layers) return;
  if(typeof div.style.width!="undefined"&& typeof div.style.width=="string"){
   div.style.width =div.offsetWidth +'px';
   div.style.height=div.offsetHeight+'px';
  }
  else if(typeof div.style.pixelWidth!="undefined"){ 
   div.style.pixelWidth =div.offsetWidth;
   div.style.pixelHeight=div.offsetHeight;
  }
}

function getDivHeight(div){
  return document.layers?
         div.clip.height:(div.offsetHeight||div.style.pixelHeight||0);
}

function getDivTop(div){
  if(typeof window.crypto!="undefined" &&
     typeof window.getComputedStyle!="undefined"){ 
    return parseInt(div.style.top);
  }
  else 
   return document.layers?div.top:(div.offsetTop||div.style.left||div.style.pixelTop||0);
}

function moveDivTo(div,left,top){
  if(document.layers){ div.moveTo(left,top); return; } 
  if(typeof div.style.left!="undefined"&& typeof div.style.left=="string"){ 
    div.style.left=left+'px';
    div.style.top =top +'px';
  }
  else if(typeof div.style.pixelLeft!="undefined"){ 
    div.style.pixelLeft=left;
    div.style.pixelTop =top;
  }
}

function moveDivBy(div,left,top){
  if(document.layers){ div.moveBy(left,top); return; } 
  if(typeof window.crypto!="undefined" &&
     typeof window.getComputedStyle!="undefined"){ 
    div.style.left=(parseInt(div.style.left)+Math.round(left))+'px';
    div.style.top =(parseInt(div.style.top) +Math.round(top))+'px';
    return;
  } 
  if(typeof div.style.left!="undefined"&& typeof div.style.left=="string"){
    div.style.left=(div.offsetLeft+Math.round(left))+'px';
    div.style.top =(div.offsetTop +Math.round(top))+'px';
    return; 
  }
  if(typeof div.style.pixelLeft!="undefined"){
    div.style.pixelLeft+=Math.round(left);
    div.style.pixelTop +=Math.round(top);
    return;
  }
}

function setDivVisibility(div,visible){
  (div.style||div).visibility=(visible)?
   ((window.opera && !document.documentElement)?'visible':'inherit'):'hidden';
}
//------------------------------------------------------------------------------------
var speed=null;
var pageHeight=null;
var winDiv=null;
var texDiv=null;
var lp=null;
var lp0=null;
var tm0=null;
var tm1=null;
var pageTop=null;
var tm=null;
var actInt=null;
var i=null;
var moves0=null;
var moves=0;
var move0=null;

var msg;
var bw=1;
var pageTop=0;
var moveY0=1;

function scroll(move){
	switch(br_no){
		case 1:move=move;break;						//IE
		case 2:move=1.05*move;break;	//Netscape
		case 3:move=1.01*move;break;	//Safari
		case 4:move=0.88*move;break;	//Opera
		case 5:move=1.06*move;break;	//Firfox
		default:move=move;break;	
	}
	move0=move;
	speed = Math.ceil(2000/move)-5;		//端数切り上げ
	winDiv=getDivFromName('wnd');
	initDivSize(winDiv);
	texDiv=getDivFromName('p0','wnd'); 
	initDivSize(texDiv);
	pageHeight=getDivHeight(texDiv);
	moveDivTo(texDiv,10,1);
	setDivVisibility(winDiv,true);  
	setDivVisibility(texDiv,true);  
	tm=new Date();
	tm0=tm.getTime();
	lp=Math.floor(move);					//端数切捨て
	lp0=lp;
	moveStyle();
}

function moveStyle(){
	pageTop=getDivTop(texDiv);
	if(i<0){
		i=++i;
	}else{
		pageTop=pageTop-moveY0;
    	moveDivBy(texDiv,0,-moveY0);
		moves=++moves;
	}
	lp=--lp;
	if(lp<=0){
		tm=new Date();
		tm1=tm.getTime();
		actInt=tm1-tm0;
		moves0=Math.round(actInt*move0/2000);
		i=moves0-moves;
		if(i>0){
			while(i>0){
				pageTop=pageTop-moveY0;
    			moveDivBy(texDiv,0,-moveY0);
				moves=++moves;
				i=--i}
		}
		lp=lp0;
	}
	if((pageTop+pageHeight)<0){
		pageTop=0;
		moveDivTo(texDiv,10,1);
		return moveStyle();
	}
	t_wait=setTimeout('moveStyle()',speed);
}

function cancel(){
	clearTimeout('moveStyle()',speed);
}
