
  // Copyright 1999 Altan d.o.o.
  // http://www.altan.hr/
  // http://www.altan.hr/snow/index.html
  // E-mail: snow@altan.hr
  // ↑コピーライトです。
  // この JavaScript は、みずあきが 作者 Altan 氏の了解を得て、大幅に改造している物です。
  // この為、この JavaScript の無断使用を固く禁じます。（みずあき）
    
  var no = 10; // snow number

  var speed = 5;            // 落下スピード（みずあき追加パラメータ）
  var flake1 = "gif/summer1.gif";       // 画像ファイル（みずあき追加パラメータ）
  var flake2 = "gif/summer2.gif";       // 画像ファイル（みずあき追加パラメータ）
  var flake3 = "gif/summer3.gif";       // 画像ファイル（みずあき追加パラメータ）
  var flake4 = "gif/summer1.gif";       // 画像ファイル（みずあき追加パラメータ）
  var flake5 = "gif/flo_r.gif";         // 画像ファイル（みずあき追加パラメータ）

  var ns4up = (document.layers) ? 1 : 0;  // browser sniffer
  var ie4up = (document.all) ? 1 : 0;

  var dx, xp, yp;    // coordinate and position variables
  var am, stx, sty;  // amplitude and step variables
  var i, doc_width = 800, doc_height = 600;
    
  if (ns4up) {
    doc_width = self.innerWidth;
    doc_height = self.innerHeight*2;    // 幅と高さを自由に変更する事♪
  } else if (ie4up) {
    doc_width = document.body.clientWidth;
    doc_height = document.body.clientHeight*2;  // 幅と高さを自由に変更する事♪
  }

  dx = new Array();
  xp = new Array();
  yp = new Array();
  am = new Array();
  stx = new Array();
  sty = new Array();
    
  for (i = 0; i < no; ++ i) {   
    dx[i] = 0;                // set coordinate variables
    xp[i] = Math.random()*(doc_width-50);  // set position variables
    yp[i] = Math.random()*doc_height;
    am[i] = Math.random()*40;         // set amplitude variables
    stx[i] = 0.02 + Math.random()/10; // set step variables
    sty[i] = 0.7 + Math.random();     // set step variables
    if (ns4up) {              // set layers
      if (i < 3) {
        document.write("<layer name=\"dot"+ i +"\" left=\"15\" top=\"15\" visibility=\"show\"><img src=\"" + flake1 + "\" border=\"0\"></layer>");
      } else {
        if (i < 6) {
          document.write("<layer name=\"dot"+ i +"\" left=\"15\" top=\"15\" visibility=\"show\"><img src=\"" + flake2 + "\" border=\"0\"></layer>");
        } else {
          if (i < 8) {
            document.write("<layer name=\"dot"+ i +"\" left=\"15\" top=\"15\" visibility=\"show\"><img src=\"" + flake3 + "\" border=\"0\"></layer>");
          } else {
            if (i < 9) {
              document.write("<layer name=\"dot"+ i +"\" left=\"15\" top=\"15\" visibility=\"show\"><img src=\"" + flake4 + "\" border=\"0\"></layer>");
            } else {
              document.write("<layer name=\"dot"+ i +"\" left=\"15\" top=\"15\" visibility=\"show\"><img src=\"" + flake5 + "\" border=\"0\"></layer>");
            }
          }
        }
      }
    } else if (ie4up) {
      if (i < 3) {
        document.write("<div id=\"dot"+ i +"\" style=\"POSITION: absolute; Z-INDEX: "+ i +"; VISIBILITY: visible; TOP: 15px; LEFT: 15px;\"><img src=\"" + flake1 + "\" border=\"0\"></div>");
      } else {
        if (i < 6) {
          document.write("<div id=\"dot"+ i +"\" style=\"POSITION: absolute; Z-INDEX: "+ i +"; VISIBILITY: visible; TOP: 15px; LEFT: 15px;\"><img src=\"" + flake2 + "\" border=\"0\"></div>");
        } else {
          if (i < 8) {
            document.write("<div id=\"dot"+ i +"\" style=\"POSITION: absolute; Z-INDEX: "+ i +"; VISIBILITY: visible; TOP: 15px; LEFT: 15px;\"><img src=\"" + flake3 + "\" border=\"0\"></div>");
          } else {
            if (i < 9) {
              document.write("<div id=\"dot"+ i +"\" style=\"POSITION: absolute; Z-INDEX: "+ i +"; VISIBILITY: visible; TOP: 15px; LEFT: 15px;\"><img src=\"" + flake4 + "\" border=\"0\"></div>");
            } else {
              document.write("<div id=\"dot"+ i +"\" style=\"POSITION: absolute; Z-INDEX: "+ i +"; VISIBILITY: visible; TOP: 15px; LEFT: 15px;\"><img src=\"" + flake5 + "\" border=\"0\"></div>");
            }
          }
        }
      }
    }
  }
    
  // ネットスケープ用関数
  function snowNS() {  // Netscape main animation function
    for (i = 0; i < no; ++ i) {  // iterate for every dot
      yp[i] += sty[i];
      if (yp[i] > doc_height-50) {
    xp[i] = Math.random()*(doc_width-am[i]-30);
    yp[i] = 0;
    stx[i] = 0.02 + Math.random()/10;
    sty[i] = 0.7 + Math.random();
    doc_width = self.innerWidth;
    doc_height = self.innerHeight*2;    // 幅と高さを自由に変更する事♪
      }
      dx[i] += stx[i];
      document.layers["dot"+i].top = yp[i];
      document.layers["dot"+i].left = xp[i] + am[i]*Math.sin(dx[i]);
    }
    setTimeout("snowNS()", speed);
  }

  // インターネットエクスプローラ用関数
  function snowIE() {  // IE main animation function
    for (i = 0; i < no; ++ i) {  // iterate for every dot
      yp[i] += sty[i];
      if (yp[i] > doc_height-50) {
    xp[i] = Math.random()*(doc_width-am[i]-30);
    yp[i] = 0;
    stx[i] = 0.02 + Math.random()/10;
    sty[i] = 0.7 + Math.random();
    doc_width = document.body.clientWidth;
    doc_height = document.body.clientHeight*2;  // 幅と高さを自由に変更する事♪
      }
      dx[i] += stx[i];
      document.all["dot"+i].style.pixelTop = yp[i];
      document.all["dot"+i].style.pixelLeft = xp[i] + am[i]*Math.sin(dx[i]);
    }
    setTimeout("snowIE()", speed);
  }

  if (ns4up) {
    snowNS();
  } else if (ie4up) {
    snowIE();
  }

