//ウィンドウクローズ
function MM_callJS(jsStr) { //v2.0
  return eval(jsStr)
}

// イメージのスワップ
function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}



// ウインドウオープン
function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}



<!--　ページスクロール
  // pxはどの座標までスクロールするか
  // directionは縦か横どちらに方向にスクロールするか	
  // unifは1/100秒ごとにスクロールする量。ここに'no'と指定すると減速処理がされる
  // prevは内部で使う引数なので呼び出すときには指定しない
function scroller(px, direction, unif, prev) {
    // どのぐらいスクロールしているか
    if (document.all) {
      var Y = document.body.scrollTop;
      var X = document.body.scrollLeft;
    }else{
      var Y = window.pageYOffset;
      var X = window.pageXOffset;
    }
    var s = 0;
    switch (direction) {
      case 'vertical':
        s = Y;
        break;
      case 'horizontal':
        s = X;
        break;
      case 'multiple':
        s = X;
        break;
    }

    var sR = unif;
    if (sR == 'no') {
      sR = 0;
      var f = px - Math.abs(s - px);		// 現在の移動量
      sR = Math.ceil( (px - f) / 5 );
      if (sR < 1) sR = 1;
    } else {
      sR = parseInt(unif);
    }

    if ( (px - s) > 0 ) {
     // 現在座標より正方向にスクロールするとき
      s += sR;
      if (s > px) s = px;
    } else if (px == s) {
      // 現在座標と目的座標が同じになったとき
      return;
    } else if ( (px - s) < 0 ) {
      // 現在座標より逆方向にスクロールするとき
      s -= sR;
      if (s < px) s = px;
    }

    if (prev == s) return;

    var sY = Y;
    var sX = X;
    switch (direction) {
      case 'vertical':
        sY = s;
        break;
      case 'horizontal':
        sX = s;
        break;
      case 'multiple':
        sX = s;
        sY = s;
        break;
    }

    window.scrollTo(sX, sY);
    setTimeout('scroller(' + px + ', "' + direction + '","' + unif + '",' + s + ');', 5);
}
