	stage = 0;
	MAX_PULSES = 8;
	curIndex = new Array(5);
	curIndex[1] = 1;
	curIndex[2] = 1;
	curIndex[3] = 1;
	curIndex[4] = 1;
	curIndex[5] = 1;
	pulseOrder = new Array(5);
	pulseOrder[1] = 2;
	pulseOrder[2] = 4;
	pulseOrder[3] = 1;
	pulseOrder[4] = 3;
	pulseOrder[5] = 5;
	pulseCount = 1;
	lastDiv1 = null;
	lastDiv2 = null;
	running = false;
	function fadeImages(div1, div2) {
		if (running) {
			stage = stage + 5;
			if (stage <= 99) {
				leavefilterString = "alpha(opacity=" + (100 - stage) + ")";
				enterfilterString = "alpha(opacity=" + (stage) + ")";
				
				div1.style.filter = leavefilterString;
				div2.style.filter = enterfilterString;
				div1.style.opacity = (100 - stage) / 100;
				div2.style.opacity = (stage) / 100;
				
				setTimeout("fadeImages(div1, div2)", 60);
			} else {
				div1.style.zIndex = 1;
				div2.style.zIndex = 2;
				div1.style.opacity = .01;
				div2.style.opacity = .99;
				div1.style.filter = "alpha(opacity = 0)";
				div2.style.filter = "alpha(opacity = 100)";
			}
		}
	}
	
	// if the computer is being slow, then make sure that the transistion completes
	function cleanLastDivs(last1, last2) {
		last1.style.zIndex = 1;
		last2.style.zIndex = 2;
		last1.style.opacity = .01;
		last2.style.opacity = .99;
		last1.style.filter = "alpha(opacity = 0)";
		last2.style.filter = "alpha(opacity = 100)";
	}
	
	function scheduleTransitions() {
		// new transition is starting, so whether or not it completed, 
		// stop it and force completion
		running = false;
		stage = 0;
		if (lastDiv1 != null && lastDiv2 != null) 
			cleanLastDivs(lastDiv1, lastDiv2);
			
		curPulse = pulseOrder[pulseCount];
		ind1 = (curPulse - 1) * MAX_PULSES + curIndex[curPulse];
		ind2 = ind1 + 1;
		if (curIndex[curPulse] + 1 > MAX_PULSES)
			ind2 = (curPulse - 1) * MAX_PULSES + 1;
			
		if (document.all) {
			div1 = document.all["pulse" + ind1];
			div2 = document.all["pulse" + ind2];
		} else {
			div1 = document.getElementById("pulse" + ind1);
			div2 = document.getElementById("pulse" + ind2);
		}
		lastDiv1 = div1;
		lastDiv2 = div2;
		
		// Start up the process again and fade the images
		running = true;
		fadeImages(div1, div2);
		curIndex[curPulse]++;
		if (curIndex[curPulse] > MAX_PULSES)
			curIndex[curPulse] = 1;
		pulseCount++;
		if (pulseCount > 5)
			pulseCount = 1;
		
		// schedule the next one
		setTimeout("scheduleTransitions()", 4200);
	}