// Copyright (C) 伊織舞也 (http://www.odysseus.co.jp/~meyer/)
// 著作権表示を消さなければご自由にお使いください
var mx,my;
var sx=new Array();
var sy=new Array();
function MouseMoving(e) {
  mx=(document.all)?document.body.scrollLeft+event.clientX:e.pageX;
  my=(document.all)?document.body.scrollTop+event.clientY:e.pageY;
}
function SnakeString(tm,st,ml) {
  for (lp=ml;lp>=1;lp--) {
    sx[lp]=sx[lp-1];
    sy[lp]=sy[lp-1];
  }
  if ((!isNaN(mx))&&(!isNaN(my))) {
    sx[0]=mx;
    sy[0]=my;
  }
  for (lp=0;lp<ml;lp++) {
    id='ss'+lp;
    tx=sx[lp+1]+(st*(lp+1));
    c=(document.all)?document.all(id):document.getElementById(id);
    c.style.display=((mx!=tx)||(my!=sy[lp+1]))?'block':'none';
    c.style.left=tx;
    c.style.top=sy[lp+1];
  }
  setTimeout('SnakeString('+tm+','+st+','+ml+')',tm);
}
function InitMouseEvent() {
  if (navigator.appName=='N') document.captureEvents(Event.MOUSEMOVE);
  document.onmousemove=MouseMoving;
  sx[0]=(document.all)?(document.getElementById)?document.body.clientWidth:0:window.innerWidth;
  sy[0]=0;
}
function InitStringMode(msg,ss,st,tm) {
  if ((document.all)||(document.getElementById)) {
    InitMouseEvent();
    addTag='';
    for (lp=0;lp<msg.length;lp++) {
      sx[lp+1]=sx[0];
      sy[lp+1]=0;
      addTag+='<div id="ss'+lp+'" style="display:none;position:absolute;left:'+sx[lp+1]+';top:0;'+ss+'">'+msg.charAt(lp)+'</div>';
    }
    document.body.innerHTML+=addTag;
    setTimeout('SnakeString('+tm+','+st+','+msg.length+')',tm);
  }
}
function InitObjectMode(st,tm) {
  if ((document.all)||(document.getElementById)) {
    InitMouseEvent();
    addTag='';
    ml=InitObjectMode.arguments.length-2;
    for (lp=0;lp<ml;lp++) {
      sx[lp+1]=sx[0];
      sy[lp+1]=0;
      addTag+='<div id="ss'+lp+'" style="display:none;position:absolute;left:'+sx[lp+1]+';top:0;">'+InitObjectMode.arguments[lp+2]+'</div>';
    }
    document.body.innerHTML+=addTag;
    setTimeout('SnakeString('+tm+','+st+','+ml+')',tm);
  }
}
