//Autumn leaves- by Kurt Grigg (kurt.grigg@virgin.net)
//Modified by Dynamic Drive for NS6 functionality
//visit http://www.dynamicdrive.com for this script

//Pre-load your image below!
grphcs=new Array(6)
Image0=new Image();
Image1=new Image();
Image2=new Image();
Image3=new Image();
Image4=new Image();
Image5=new Image();

if (fall_type == "snow" ) {
	Image0.src=grphcs[0]="images/snow3.gif";
	Image1.src=grphcs[1]="images/snow3.gif";
	Image2.src=grphcs[2]="images/snow4.gif";
	Image3.src=grphcs[3]="images/snow4.gif";
	Image4.src=grphcs[4]="images/snow5.gif";
	Image5.src=grphcs[5]="images/snow5.gif";
}
if (fall_type == "leaves" ) {
	Image0.src=grphcs[0]="images/Leaf1.gif";
	Image1.src=grphcs[1]="images/Leaf1.gif";
	Image2.src=grphcs[2]="images/Leaf3.gif";
	Image3.src=grphcs[3]="images/Leaf3.gif";
	Image4.src=grphcs[4]="images/Leaf5.gif";
	Image5.src=grphcs[5]="images/Leaf5.gif"; 
}
if (fall_type == "hearts" ) {
	Image0.src=grphcs[0]="images/heart1.gif";
	Image1.src=grphcs[1]="images/heart1.gif";
	Image2.src=grphcs[2]="images/heart3.gif";
	Image3.src=grphcs[3]="images/heart3.gif";
	Image4.src=grphcs[4]="images/heart5.gif";
	Image5.src=grphcs[5]="images/heart5.gif"; 
}

Amount=12; //Smoothness depends on image file size, the smaller the size the more you can use!
Ypos=new Array();
Xpos=new Array();
Speed=new Array();
Step=new Array();
Cstep=new Array();
ns=(document.layers)?1:0;
ns6=(document.getElementById&&!document.all)?1:0;

if (ns) {
	for (i = 0; i < Amount; i++) {
	var P=Math.floor(Math.random()*grphcs.length);
	rndPic=grphcs[P];
	document.write("<LAYER style='visibility:hidden;' NAME='sn"+i+"' LEFT=0 TOP=0><img src="+rndPic+"></LAYER>");
	}
} else {
	document.write('<div style="z-index:1;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'+i+'" src="'+rndPic+'" style="visibility:hidden;position:absolute;top:0px;left:0px">');
	}
	document.write('</div></div>');
}

WinHeight=(ns||ns6)?window.innerHeight:window.document.body.clientHeight;
WinWidth=(ns||ns6)?window.innerWidth-70:window.document.body.clientWidth;
WinHeight=500
WinWidth=700
wOffset = (((ns||ns6)?window.innerWidth-70:window.document.body.clientWidth) - WinWidth)/2;
if (wOffset < 0) wOffset = 0;
for (i=0; i < Amount; i++) {                                                                
	Ypos[i] = Math.round(Math.random()*WinHeight);
	Xpos[i] = Math.round(Math.random()*WinWidth) + wOffset;
	Speed[i]= Math.random()*5+3;
	Cstep[i]=0;
	Step[i]=Math.random()*0.1+0.05;
}

function fall() {
	var WinHeight=(ns||ns6)?window.innerHeight:window.document.body.clientHeight;
	var WinWidth=(ns||ns6)?window.innerWidth-70:window.document.body.clientWidth;
	var hscrll=(ns||ns6)?window.pageYOffset:document.body.scrollTop;
	var wscrll=(ns||ns6)?window.pageXOffset:document.body.scrollLeft;

	WinHeight=510
	WinWidth=750

	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) + wOffset;
			Speed[i]=Math.random()*5+3;
		}
		if (ns) {
			document.layers['sn'+i].left=Xpos[i];
			document.layers['sn'+i].top=Ypos[i]+hscrll;
		}
		else if (ns6) {
			document.getElementById("si"+i).style.left=Math.min(WinWidth,Xpos[i]);
			document.getElementById("si"+i).style.top=Ypos[i]+hscrll;
			document.getElementById("si"+i).style.visibility = 'visible';
		} else {
		eval("document.all.si"+i).style.left=Xpos[i];
		eval("document.all.si"+i).style.top=Ypos[i]+hscrll;
		document.getElementById("si"+i).style.visibility = 'visible';
		} 
		Cstep[i]+=Step[i];
	}
	setTimeout('fall()',120);
}

