// define the images array
// set imagew and imagew to the dimensions of the graphics plus one pixel
// set fast for speed but high numbers become unworkable
images=new Array("gifs/a.gif","gifs/b.gif","gifs/a.gif","gifs/b.gif","gifs/a.gif","gifs/b.gif","gifs/a.gif","gifs/b.gif","gifs/a.gif","gifs/b.gif","gifs/a.gif","gifs/b.gif","gifs/a.gif","gifs/b.gif","gifs/a.gif","gifs/b.gif","gifs/a.gif","gifs/b.gif","gifs/a.gif","gifs/b.gif","gifs/a.gif","gifs/b.gif","gifs/a.gif","gifs/b.gif","gifs/b.gif","gifs/a.gif","gifs/b.gif","gifs/a.gif","gifs/b.gif","gifs/a.gif","gifs/b.gif","gifs/a.gif","gifs/b.gif","gifs/a.gif","gifs/b.gif","gifs/a.gif","gifs/b.gif","gifs/a.gif","gifs/b.gif","gifs/a.gif","gifs/b.gif","gifs/a.gif","gifs/b.gif","gifs/a.gif","gifs/b.gif");
imagew=36;
imageh=36;
fast=1;
// end of pre-defined variables
// copyright Mike Slater
var i;
var j;
var winh;
var winw;
number=images.length;
left=new Array();
pos=new Array();
speed=new Array(); 
lspeed=new Array();
hitedge=new Array();
ystep=new Array();
yst=new Array();
for (i = 0; i < number; i++){
left[i]=304;
pos[i]=325;
hitedge[i]=0;
speed[i]=Math.floor(Math.random()*5)+fast;
lspeed[i]=Math.floor(Math.random()*5)+fast;
ystep[i]=0;
yst[i]=Math.random()*0.0001+0.0001;
if (document.layers) {
document.write("<LAYER NAME='circ"+i+"' LEFT=304 TOP=325><img src="+images[i]+" width=27 height=36></LAYER>");
}
else {
document.write('<div id="circ" style="position:absolute;left:304px;top:325px;width:27px;height:36px"><img src="'+images[i]+'" border="0" alt="" width="27" height="36"></div>');
}
}
function bubble()
{
var winh=(document.layers)?window.innerHeight:window.document.body.clientHeight;
var winw=(document.layers)?window.innerWidth:window.document.body.clientWidth;
for (j = 0; j < number; j++){
lspeed[j]=lspeed[j]+(lspeed[j]*Math.sin(ystep[j]));
left[j] +=lspeed[j];
pos[j] -=speed[j];
if (pos[j] < -600) {speed[j]=-(Math.floor(Math.random()*1)+fast);lspeed[j]=lspeed[j]+(lspeed[j]*Math.sin(ystep[j]));pos[j]=0;}
if (left[j] < -200) {left[j]=304;pos[j]=325;speed[j]=Math.floor(Math.random()*5)+fast;lspeed[j]=Math.floor(Math.random()*5)+fast;ystep[j]=0;yst[j]=Math.random()*0.0001+0.0001;}
if (pos[j] > (winh-imageh)) {speed[j]=Math.floor(Math.random()*5)+fast;pos[j]=(winh-imageh);}
if (left[j] > (winw-imagew)) {lspeed[j]=-(Math.floor(Math.random()*2)+fast);speed[j]=Math.floor(Math.random()*7)+fast;left[j]=(winw-imagew);hitedge[j]=1}
if (document.layers) {
document.layers['circ'+j].top=pos[j];
document.layers['circ'+j].left=left[j];
}
else {
circ[j].style.top=pos[j];
circ[j].style.left=left[j];
}
ystep[j]+=yst[j];
}
window.setTimeout("bubble();",20);
}