var Sprites = new Array();
var myBrowser;
var running = true;

function CreateSprites(n, theImage, finish)
{
	myBrowser = new xBrowser();

	for(x=0 ; x<n ; x++)
	{
		addSprite(theImage)
	}
	
	setTimeout("ani()", 25);
	setTimeout("ani()", 50);

	if(finish)
		setTimeout("stopSnow()",finish * 1000);
}
function stopSnow()
{
	running=false;
}
function addSprite(theImage)
{
	var i=Sprites.length;

	Sprites[i] = new xLayer(theImage,0,0);
	restart(Sprites[i]);
	Sprites[i].show();
}
function restart(b)
{
	b.x = Math.random() * (myBrowser.getCanvasWidth()-40);
	b.y = -40;
	b.dx = Math.random() * 2 - 1;
	b.dy = Math.random() * 2 + 2;
	b.ang = 0;
	b.angStep = .1;
	b.amp = 5;

	if(!running)
	{
		b.dx=0;
		b.dy=0;
	}

}
function ani()
{
	var foundOne = false;
	for(i=0 ; i<Sprites.length ; i++)
	{
		var b = Sprites[i];
		if(b.dx > 0 || b.dy > 0)
			foundOne = true;

		b.x += b.dx;
		b.y += b.dy;
		b.ang += b.angStep;

		b.moveTo(b.x + b.amp*Math.sin(b.ang), b.y);

		if(b.dx > 0)
		{
			if(b.x > myBrowser.getMaxX()-20)
				restart(b);
		}
		else
			if(b.x < myBrowser.getMinX()-40)
				restart(b);

		if(b.y > myBrowser.getMaxY())
			restart(b);
	}
	if(foundOne)
		setTimeout("ani()", 25);
}

