var snowsrc = 'snow.gif'
var no = 10;

var ns4 = ( document.layers ) ? 1 : 0;
var ie4 = ( document.all ) ? 1 : 0;
var ns6 = ( document.getElementById && !document.all ) ? 1 : 0;

var dx, xp, yp;
var am, stx, sty;
var i, doc_width = 800, doc_height = 600;

if ( ns4 || ns6 ) {
  doc_width = self.innerWidth;
  doc_height = self.innerHeight;
} else if ( ie4 ) {
  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.random() * ( doc_width - 50 );
  yp[i] = Math.random() * doc_height;
  am[i] = Math.random() * 20;
  stx[i] = 0.02 + Math.random() / 10;
  sty[i] = 0.7 + Math.random();
  if ( ns4 ) {
    document.write( '<layer name="dot' + i + '" left="15" top="15" visibility="show"><img border="0" src="' + snowsrc + '" width="11" height="10"></layer>' );
  } else if ( ie4 || ns6 ) {
    document.write( '<div id="dot' + i + '" style="position: absolute; z-index: ' + i + '; visibility: visible; top: 15px; left: 15px;"><img border="0" src="' + snowsrc + '" width="11" height="10"></div>' );
  }
}

function snowIE() {
  for ( i = 0; i < no; ++ i ) {
    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 = ns6?window.innerWidth : document.body.clientWidth;
      doc_height = ns6?window.innerHeight : document.body.clientHeight;
    }
    dx[i] += stx[i];
    if ( ie4 ) {
    document.all["dot"+i].style.pixelTop = yp[i];
    document.all["dot"+i].style.pixelLeft = xp[i] + am[i] * Math.sin( dx[i] );
    }
    else if ( ns6 ){
    document.getElementById( 'dot' + i ).style.top = yp[i];
    document.getElementById( 'dot' + i ).style.left=xp[i] + am[i] * Math.sin( dx[i] );
    }   
  }
  setTimeout( 'snowIE()' , 10 );
}

function snowNS() {
  for ( i = 0; i < no; ++ i ) {
    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;
    }
    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()' , 10 );
}

if ( ie4 || ns6 ) {
  snowIE();
} else if ( ns4 ) {
  snowNS();
}
