var ns4up = ( document.layers ) ? 1 : 0;
var ie4up = ( document.all ) ? 1 : 0;
if( ns4up || ie4up ){
  var no = 15; // snow number
  var speed = 30; // smaller number moves the snow faster
  var snowflake = new Array();
  snowflake[0] = "img/flake.gif";
  //snowflake[1] = "flake01.gif";
  //snowflake[2] = "flake02.gif";
  var doc_width, doc_height;
  if( ns4up ){
    doc_width = self.innerWidth;
    doc_height = self.innerHeight;
  }
  else if( ie4up ){
    doc_width = document.body.clientWidth;
    doc_height = document.body.clientHeight;
  }
  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;
    xp[i] = Math.round(Math.random()*(doc_width-50));
    yp[i] = Math.round(Math.random()*doc_height);
    am[i] = Math.round(Math.random()*20);
    stx[i] = 0.02 + Math.random()/10;
    sty[i] = 0.7 + Math.random();
    flake = snowflake[Math.round(Math.random()*(snowflake.length-1))];
    if( ns4up ){
      document.write( '<layer name="dot' + i + '" left=15 ' );
      document.write( 'top=15 visibility="show" z-index=' + (i+10) + '><img src="' );
      document.write( flake + '"></layer>\n' );
    }
    else if( ie4up ){
      document.write( '<div id="dot' + i + '" style="POSITION: ' );
      document.write( 'absolute; Z-INDEX: ' + i + '; VISIBILITY: ' );
      document.write( 'visible; TOP: 15px; LEFT: 15px;"><img src="' );
      document.write( flake + '"></div>\n' );
    }
  }
}

function snowNS(){
  for( i = 0; i < no; i++ ){
    yp[i] += sty[i];
    if( yp[i] > doc_height-50 ){
      xp[i] = Math.round(Math.random()*(doc_width-am[i]-30));
      yp[i] = 0;
      stx[i] = 0.02 + Math.random()/10;
      sty[i] = 0.7 + Math.random();
    }
    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(){
  for( i = 0; i < no; i++ ){
    yp[i] += sty[i];
    if( yp[i] > doc_height-50 ){
      xp[i] = Math.round(Math.random()*(doc_width-am[i]-30));
      yp[i] = 0;
      stx[i] = 0.02 + Math.random()/10;
      sty[i] = 0.7 + Math.random();
    }
    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();
