// _bro: 1=NN6+, 2=NN4, 3=IE, 4=Opera, 0=others
_bro=(window.opera?4:(document.all?3:(document.getElementById?1:(document.layers?2:0))));
// _ie5: true=IE5+
_ie5=(navigator.appName.indexOf('Microsoft Internet Explorer')>=0 && document.getElementById)?true:false;
// _mac : true = macintosh, false = other os
_mac=navigator.userAgent.indexOf('Mac')>=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 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 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 getDivWidth (div){ 
  return document.layers?
         div.clip.width:(div.offsetWidth||div.style.pixelWidth||0);
}
function getDivHeight(div){
  return document.layers?
         div.clip.height:(div.offsetHeight||div.style.pixelHeight||0);
}
function getEventPageX(e){
  if(!e) var e = window.event;
  if(window.opera){ // Opera
   return (document.documentElement?window.pageXOffset:0)+e.clientX;
  } 
  else if(e.pageX) return e.pageX; // Mozilla, NN4, Safari
  else if(e.clientX){ // others
   var sl=0;
   if(document.documentElement && document.documentElement.scrollLeft)
    sl=document.documentElement.scrollLeft;
   else if(document.body && document.body.scrollLeft)
    sl=document.body.scrollLeft;
   else if(window.scrollX||window.pageXOffset) 
    sl=(window.scrollX||window.pageXOffset);
   return sl+e.clientX;         
  }
  return 0;
}
function getEventPageY(e){
  if(!e) var e = window.event;
  if(window.opera){ // Opera
   return (document.documentElement?window.pageYOffset:0)+e.clientY;
  } 
  else if(e.pageY) return e.pageY; // Mozilla, NN4, Safari
  else if(e.clientY){ // IE, others
   var st=0;
   if(document.documentElement && document.documentElement.scrollTop)
    st=document.documentElement.scrollTop;
   else if(document.body && document.body.scrollTop)
    st=document.body.scrollTop;
   else if(window.scrollY||window.pageYOffset)
    st=(window.scrollY||window.pageYOffset);
   return st+e.clientY;         
  }
  return 0;
}
//================================================================== 
if(_mac && window.external && document.getElementById){ // Mac IE5 Bug Fix
  document.write('<style type="text/css">body{ margin:0px; }<\/style>');
}



div=null;
active=true;  
finished=false;                                            
curX=orgX=200; 
curY=orgY=200; 
inc = 20;     
interval = 25;
tid=null; 
w = 0, h = 0;


function mouseMove(e){
  curX=getEventPageX(e); curY=getEventPageY(e);
  curX-=w/2; curY-=h/2;
}

function move(){
 var distx=curX-orgX, disty=curY-orgY;
 var dist=Math.sqrt(Math.pow(distx,2)+Math.pow(disty,2));


  
 if(distx==0 && disty==0) delta = 0; 
 else{
//  document.momo.src = "ue.gif"; //近づいて動きが止まったとき
//window.document.momoimouto.SetVariable("momoimouto", 1);
	waitChara();
//距離
  delta = 140;
  incx=Math.cos(Math.atan2(disty,distx))*inc;
  incy=Math.sin(Math.atan2(disty,distx))*inc;
  
 }
 if(!finished||dist>delta){  
 
 
 if(distx<=0){//マウスが左に動いているとき
//   document.momo.src = "hidari.gif"; 
//window.document.momoimouto.SetVariable("momoimouto", 2);
	turnLeft();
 }
 if(distx>=0){//マウスが右に動いているとき
//   document.momo.src = "migi.gif"; 
//window.document.momoimouto.SetVariable("momoimouto", 3);
	turnRight();
 }
 
  if(dist-inc>delta){//距離が近いとき
   
   if(finished) finished=false;
   orgX+=incx; orgY+=incy;
  }
  else{
   //window.document.momoimouto.SetVariable("momoimouto", 1);
	  waitChara();
   if(!finished) finished=true;
   orgX=curX-Math.cos(Math.atan2(disty,distx))*delta; 
   orgY=curY-Math.sin(Math.atan2(disty,distx))*delta;
  }
  moveDivTo(div,orgX,orgY);
 }
			
 tid=setTimeout('move()',interval);
}

function _init(){
  div=getDivFromName('obj');
  initDivSize(div);
  w=getDivWidth(div); h=getDivHeight(div);
  if (_bro==2) document.captureEvents(Event.MOUSEMOVE);
  if(_bro==1){
   document.addEventListener('mousemove',mouseMove,true);
  }else{
   document.onmousemove = mouseMove;
  }
  move();
}
function cancel(){
  if(tid){ clearTimeout(tid); tid=null; }
}


//externaiInterface
function thisMovie(movieName)
{
	if (navigator.appName.indexOf("Microsoft") != -1){
		return window[movieName];
	} else {
		return document[movieName];
	}
}

function turnLeft(){
	if(thisMovie("volg").turn_left != undefined){
		thisMovie("volg").turn_left();
	}
}
function turnRight(){
	if(thisMovie("volg").turn_right != undefined){
		thisMovie("volg").turn_right();
	}
}
function waitChara(){
	if(thisMovie("volg").waitChara != undefined){
		thisMovie("volg").wait_chara();
	}
}
