Amount=10; //Smoothness! depends on image file size, the smaller the size the more you can use!

//Pre-load your image below!
Image0=new Image();
Image0.src="/img/flake1.gif";
Image1=new Image();
Image1.src="/img/flake2.gif";
Image2=new Image();
Image2.src="/img/flake3.gif";
Image3=new Image();
Image3.src="/img/flake4.gif";
Image4=new Image();
Image4.src="/img/flake5.gif";

grphcs=new Array(5)
grphcs[0]="/img/flake1.gif"
grphcs[1]="/img/flake2.gif"
grphcs[2]="/img/flake3.gif"
grphcs[3]="/img/flake4.gif"
grphcs[4]="/img/flake5.gif"

Ypos=new Array();
Xpos=new Array();
Speed=new Array();
Step=new Array();
Cstep=new Array();
ns=(document.layers)?1:0;
if (ns){
for (i = 0; i < Amount; i++){
var P=Math.floor(Math.random()*grphcs.length);
rndPic=grphcs[P];
document.write("<LAYER NAME='sn"+i+"' LEFT=0 TOP=0><img src="+rndPic+"></LAYER>");
}
}
else{
document.write('<div style="position:absolute;top:0px;left:0px"><div style="position:relative">');
for (i = 0; i < Amount; i++){
var P=Math.floor(Math.random()*grphcs.length);
rndPic=grphcs[P];
document.write('<img id="si" src="'+rndPic+'" style="position:absolute;top:0px;left:0px">');
}
document.write('</div></div>');
}
WinHeight=(document.layers)?window.innerHeight:window.document.body.clientHeight;
WinWidth=(document.layers)?window.innerWidth:window.document.body.clientWidth;
for (i=0; i < Amount; i++){                                                                
 Ypos[i] = Math.round(Math.random()*WinHeight);
 Xpos[i] = Math.round(Math.random()*WinWidth);
 Speed[i]= Math.random()*3+2;
 Cstep[i]=0;
 Step[i]=Math.random()*0.1+0.05;
}
function fall(){
var WinHeight=(document.layers)?window.innerHeight:window.document.body.clientHeight;
var WinWidth=(document.layers)?window.innerWidth:window.document.body.clientWidth;
var hscrll=(document.layers)?window.pageYOffset:document.body.scrollTop;
var wscrll=(document.layers)?window.pageXOffset:document.body.scrollLeft;
for (i=0; i < Amount; i++){
sy = Speed[i]*Math.sin(90*Math.PI/180);
sx = Speed[i]*Math.cos(Cstep[i]);
Ypos[i]+=sy;
Xpos[i]+=sx; 
if (Ypos[i] > WinHeight){
Ypos[i]=-60;
Xpos[i]=Math.round(Math.random()*WinWidth);
Speed[i]=Math.random()*5+2;
}
if (ns){
document.layers['sn'+i].left=Xpos[i];
document.layers['sn'+i].top=Ypos[i]+hscrll;
}
else{
si[i].style.pixelLeft=Xpos[i];
si[i].style.pixelTop=Ypos[i]+hscrll;
} 
Cstep[i]+=Step[i];
}
setTimeout('fall()',10);
}

fall()

function Round(){
  R=0; x1=.1; y1=.05; x2=.25; y2=.24; 
  x3=1.6; y3=.24;x4=300; y4=200; x5=300; y5=200; 
  DI=document.images; 
  DIL=DI.length;
  function A(){
    for(i=0; i<DIL; i++){
      DIS=DI[ i ].style;
      DIS.position='absolute'; 
      DIS.left=Math.sin(R*x1+i*x2+x3)*x4+x5;
      DIS.top=Math.cos(R*y1+i*y2+y3)*y4+y5}R++ 
    }
  setInterval('A()',5); 
  void(0);
}
