// Detect if the browser is IE or not.// If it is not IE, we assume that the browser is NS.var IE = document.all?true:falsevar backColor = new Array();// If NS -- that is, !IE -- then set up for mouse captureif (!IE) document.captureEvents(Event.MOUSEMOVE)// Set-up to use getMouseXY function onMouseMovedocument.onmousemove = getMouseXY;var gradient = 255var gradientDir = 1var gradientInc = 4var red = 0xFFvar green = 0xCCvar blue = 0var redA = 0xFFvar greenA = 0xCCvar blueA = 0var redB = 0var greenB = 0x33var blueB = 0x99var redS = 'FF'var greenS = 'CC'var blueS = '00'function setBGcolorEndpoints (rA,gA,bA, rB,gB,bB) {	redA = rA; greenA = gA; blueA = bA;	redB = rB; greenB = gB; blueB = bB;}// Main function to handle mouse movements//	we actually don't look at the coordinates, but use each call to inc/decrement the gradient indexfunction getMouseXY(e) {	// compute RGB values from gradient index/*	red   = red1	//gradient	green = (gradient / 255) * (204 - 51) + 51	blue  = ((255 - gradient) / 255) * 153 */	red 	= (gradient / 0xFF) * (redA 	 	- redB) 		+ redB	green	= (gradient / 0xFF) * (greenA 	- greenB) 	+ greenB	blue 	= (gradient / 0xFF) * (blueA  	- blueB) 		+ blueB    with (Math) {    red   = floor (red)    green = floor (green)    blue  = floor (blue)  }  		// convert RGB values to strings  with (String) {		redS   = red.toString(16)		greenS = green.toString(16)		blueS  = blue.toString(16)		if (redS.length == 1)		{      redS = '0' + redS		}		if (greenS.length == 1)		{      greenS = '0' + greenS		}		if (blueS.length == 1)		{      blueS = '0' + blueS		}  }        // change background color depending on mouse position  document.bgColor = '#' + redS + greenS + blueS;			// compute new gradient index (post-mod to avoid initial change  if (gradientDir == 0)	{		gradient += gradientInc		if (gradient > 255)		{			gradient = 255			gradientDir = 1		}	}	else	{		gradient -= gradientInc		if (gradient < 0)		{			gradient = 0			gradientDir = 0		}	}		  return true}
