// Parts (c) 2001 Moon on a Stick Design
// Based on original script by "Kurt Grigg" <kurt.grigg@virgin.net>
// Homepage: http://website.lineone.net/~kurt.grigg/javascript/

// Pick your own colours below!!
CoLoUrS=new Array('yellow','#FFC732','#FF9B27','#FF6F1C','#FF370E','red','#FF370E','#FF6F1C','#FF9B27','#FFC732');

var step=0.3,a_StEp=0.05,RunTime=0,currStep=0,Xpos=0,Ypos=0,cntr=40,count_a=0;
var count=0,move=1,Ay=0,Ax=0,dots=16;var x;brwsr=(document.layers)?1:0;

if (brwsr){
	for (i=0; i < dots; i++) {
		document.writeln('<LAYER NAME="shadow'+i+'" CLASS="shadow" LEFT=0 TOP=0 BGCOLOR="#004668" CLIP="0,0,2,2"></LAYER>');
		document.writeln('<LAYER NAME="dot'+i+'" CLASS="dot" LEFT=0 TOP=0 BGCOLOR="'+CoLoUrS[0]+'" CLIP="0,0,2,2"></LAYER>');
	}
	window.captureEvents(Event.MOUSEMOVE);

	function nsMouse(evnt){
		Xpos = evnt.pageX;
		Ypos = evnt.pageY;
	}

	window.onMouseMove = nsMouse;
} else {
	//IE

	document.write('<div id="ys" style="position:absolute;top:0px;left:0px"><div style="position:relative">');
	for (i=0; i < dots; i++) {
		document.write('<div id="ieShadows" style="position:absolute;top:0px;left:0px;width:2px;height:2px;background:#004668;font-size:2px; z-index: 2"></div>');
		document.write('<div id="ieDots" style="position:absolute;top:0px;left:0px;width:2px;height:2px;background:'+CoLoUrS[0]+';font-size:2px; z-index: 3"></div>');
	}
	document.write('</div></div>');

	function ieMouse(){
		Ypos=event.y;
		Xpos=event.x;
	}

	window.document.onmousemove = ieMouse
}

function MouseFollow(){
	ay = Math.round(Ay+=(Ypos- Ay)* 4/40);
	ax = Math.round(Ax+=(Xpos- Ax)* 4/40);
	setTimeout('MouseFollow()',10);
}

function colourStep(){
	count+=move;
	if (count >= dots) {count=0;count_a+=move}
	if (count_a == CoLoUrS.length) count_a=0;
	if (brwsr) document.layers["dot"+count].bgColor=CoLoUrS[count_a];
	else ieDots[count].style.background=CoLoUrS[count_a];

	setTimeout('colourStep()',100)
}

function TwistnSpin(){
	if (!brwsr) ys.style.top=document.body.scrollTop;
	for (i=0; i < dots; i++) {
		var newTop = ay+cntr*Math.cos((currStep+i*4)/10)*Math.sin(currStep/20);
		var newLeft = ax+cntr*Math.sin((currStep+i*4)/10)*Math.cos(1+currStep/20);
			var allShadows=(document.layers)?document.layers["shadow"+i]:ieShadows[i].style;
		allShadows.top = newTop + 2;
		allShadows.left = newLeft + 2;

		var allDots=(document.layers)?document.layers["dot"+i]:ieDots[i].style;
		allDots.top = newTop;
		allDots.left = newLeft;
	}
	currStep-=step;
	setTimeout("TwistnSpin()",10);
}

function CombineNstart(){
	MouseFollow();TwistnSpin();colourStep();
}

window.onload=CombineNstart;
