var num=7; 
var pics=new Array("Images/Bat1.gif","Images/Bat2.gif","Images/Bat3.gif","Images/Bat4.gif");
var load=new Array();

var BatsActive = 1

function pre_load(){
for(i=0; i < pics.length; i++){
 load[i]=new Image();
 load[i].src=pics[i];
 }
}
pre_load();

var Bat_y=0;
var Bat_x=0;
var Bat_yb=0;
var Bat_xb=0;
var Bat_s0=0;
var Bat_s1=0.5;
var Bat_s2=1;
var cnt=new Array(0,1,2)
var mix=new Array();

for (i=0; i < num; i++)
 mix[i]=cnt[Math.floor(Math.random()*cnt.length)];

var del=0.1;
var Bat_y1=new Array();
var Bat_x1=new Array();
var Bat_y2=new Array();
var Bat_x2=new Array();

for (i=0; i < num; i++){
 Bat_y1[i]=0;
 Bat_x1[i]=0;
 Bat_y2[i]=0;
 Bat_x2[i]=0;
}

function mouse2(){
 Bat_y = event.clientY;
 Bat_x = event.clientX;
} 

app=navigator.appName;
if ((app.indexOf('Opera') != -1) | (app.indexOf('Microsoft') != -1)) {	
	document.onmousemove=mouse2;
	document.write('<div id="BatLayer" style="position:absolute;top:-50px;left:0px;z-index=1"><div style="position:relative">');
	for (i=0; i < num; i++){
 	document.write('<img id="bats'+i+'" src="'+pics[0]+'" style="position:absolute;top:0px;left:0px">');
	}
	document.write('</div></div>');
}

function swirl(){
 BatLayer.style.top=document.body.scrollTop;
 var sy=0;
 Bat_yb=window.document.body.offsetHeight/3;
 Bat_xb=window.document.body.offsetWidth/7;
 for (i=0; i < num; i++){
  var t=document.getElementById("bats"+i).style;
  t.top = Bat_y1[i]+Bat_yb*Math.sin(((Bat_s0)+i*3.7)/4)*Math.cos((Bat_s0+i*35)/20)+sy;
  t.left =Bat_x1[i]+Bat_xb*Math.cos(((Bat_s0)+i*3.7)/4)*Math.cos((Bat_s0+i*35)/62);
  }
Bat_s0+=Bat_s1;
}

function animate(){
 for (i=0; i < num; i++){
  if (mix[i] == pics.length) mix[i]=0;
 document.images['bats'+i].src=pics[mix[i]];
 mix[i]+=Bat_s2;
 }
swirl();
}

function follow(){
 if (BatsActive ==1) {
 	Bat_y1[0]=Math.round(Bat_y2[0]+=((Bat_y)-Bat_y2[0])*del);
 	Bat_x1[0]=Math.round(Bat_x2[0]+=((Bat_x)-Bat_x2[0])*del);
 	for (i=1; i < num; i++){
  	Bat_y1[i]=Math.round(Bat_y2[i]+=(Bat_y1[i-1]-Bat_y2[i])*del);
  	Bat_x1[i]=Math.round(Bat_x2[i]+=(Bat_x1[i-1]-Bat_x2[i])*del);
 	}
 	animate();
 	setTimeout('follow()',20);
 }
 else {
	StopBats();
 }
}

function StopBats() {
	BatsActive = 0;
	MM_showHideLayers('BatLayer','','hide');
}

function StartBats() { 
	app=navigator.appName;
	if ((app.indexOf('Opera') != -1) | (app.indexOf('Microsoft') != -1)) {	
		if (BatsActive == 0) {	
			MM_showHideLayers('BatLayer','','show');
			BatsActive = 1;
			follow();
		}
	}
	else {
		MM_popupMsg('Bats currently only work in Internet Explorer and Opera browsers!')		
	}
}

function InitBats() { 
	app=navigator.appName;
	if ((app.indexOf('Opera') != -1) | (app.indexOf('Microsoft') != -1)) {	
		follow();
		StopBats()
	}
	BatsActive = 0;
}

function startit(){
	app=navigator.appName;
	if ((app.indexOf('Opera') != -1) | (app.indexOf('Microsoft') != -1)) {	
 		setTimeout('follow()',1000);
	}
}
