show_delay = 75;
flash_wait = 750; // milliseconds
flashing = false;

function flash() {
	if (flashing) return;
	flashing = true;
	show('random');
	setTimeout("hide('random')", 3 * show_delay + flash_wait);
	setTimeout("show('geo')", 6 * show_delay +  flash_wait);
	setTimeout("hide('geo')", 9 * show_delay +  2 * flash_wait);
	setTimeout("show('nude')", 12 * show_delay +  2 * flash_wait);
	setTimeout("hide('nude')", 15 * show_delay +  3 * flash_wait);
	setTimeout("show('self')", 18 * show_delay +  3 * flash_wait);
	setTimeout("hide('self')", 21 * show_delay +  4 * flash_wait);
	setTimeout("show('faces')", 24 * show_delay +  4 * flash_wait);
	setTimeout("hide('faces')", 27 * show_delay +  5 * flash_wait);
	setTimeout("show('ladies')", 30 * show_delay +  5 * flash_wait);
	setTimeout("hide('ladies')", 33 * show_delay +  6 * flash_wait);
	setTimeout("show('house')", 36 * show_delay +  6 * flash_wait);
	setTimeout("hide('house')", 39 * show_delay +  7 * flash_wait);
	setTimeout("flashing = false", 3 * show_delay + flash_wait);
}

function show(selected) {
	func = "document.getElementById('g_" + selected + "').src = '" + selected;
	setTimeout(func + "1.jpg'", 0);
	setTimeout(func + "2.jpg'", show_delay);
	setTimeout(func + "3.jpg'", show_delay * 2);
	setTimeout(func + "4.jpg'", show_delay * 3);

	func = "document.getElementById('g_morph').src = '" + selected + "d";
	setTimeout(func + "4.jpg'", 0);
	setTimeout(func + "3.jpg'", show_delay);
	setTimeout(func + "2.jpg'", show_delay * 2);
	setTimeout(func + "1.jpg'", show_delay * 3);
}

function hide(selected) {
	func = "document.getElementById('g_" + selected + "').src = '" + selected;
	setTimeout(func + "3.jpg'", 0);
	setTimeout(func + "2.jpg'", show_delay);
	setTimeout(func + "1.jpg'", show_delay * 2);
	setTimeout(func + ".jpg'", show_delay * 3);

	func = "document.getElementById('g_morph').src = '";
	setTimeout(func + selected + "d2.jpg'", 0);
	setTimeout(func + selected + "d3.jpg'", show_delay);
	setTimeout(func + selected + "d4.jpg'", show_delay * 2);
	setTimeout(func + "d.jpg'", show_delay * 3);
}