/*
0x02.js
copyright (c) 2003 ed sibbald
[ed sibbald at cmepw dot org]
*/

var Spacer = new Image(); Spacer.src = "img/spacer.gif";
var LightGray = new Image(); LightGray.src = "img/spacer_lightgray.gif";
var DarkGray = new Image(); DarkGray.src = "img/spacer_darkgray.gif";
var Black = new Image(); Black.src = "img/spacer_black.gif";

var d0 = new Image(); d0.src = "img/0x02/deep.gif";
var d = new Array("d", d0);

var e0 = new Image(); e0.src = "img/0x02/enough-0.gif";
var e1 = new Image(); e1.src = "img/0x02/enough-1.gif";
var e = new Array("e0", e0, "e1", e1);

var t0 = new Image(); t0.src = "img/0x02/2-0.gif";
var t1 = new Image(); t1.src = "img/0x02/2-1.gif";
var t2 = new Image(); t2.src = "img/0x02/2-2.gif";
var t3 = new Image(); t3.src = "img/0x02/2-3.gif";
var t = new Array("t0", t0, "t1", t1, "t2", t2, "t3", t3);

var sr0 = new Image(); sr0.src = "img/0x02/splash_red-0.gif";
var sr1 = new Image(); sr1.src = "img/0x02/splash_red-1.gif";
var sr2 = new Image(); sr2.src = "img/0x02/splash_red-2.gif";
var sr3 = new Image(); sr3.src = "img/0x02/splash_red-3.gif";
var pbr = new Image(); pbr.src = "img/0x02/person_black_red.gif";
var sr4 = new Image(); sr4.src = "img/0x02/splash_red-4.gif";
var s_r = new Array("s0", sr0, "s1", sr1, "s2", sr2, "s3", sr3, "p", pbr, "s4", sr4);

var sb0 = new Image(); sb0.src = "img/0x02/splash_blue-0.gif";
var sb1 = new Image(); sb1.src = "img/0x02/splash_blue-1.gif";
var sb2 = new Image(); sb2.src = "img/0x02/splash_blue-2.gif";
var sb3 = new Image(); sb3.src = "img/0x02/splash_blue-3.gif";
var pbb = new Image(); pbb.src = "img/0x02/person_black_blue.gif";
var sb4 = new Image(); sb4.src = "img/0x02/splash_blue-4.gif";
var s_b = new Array("s0", sb0, "s1", sb1, "s2", sb2, "s3", sb3, "p", pbb, "s4", sb4);

var v_s = new Array("v", Spacer);
var vflashing = new Image(); vflashing.src = "img/0x02/DIVE-1_flashing.gif";
var v_f = new Array("v", vflashing);
var vred = new Image(); vred.src = "img/0x02/DIVE-1_red.gif";
var v_r = new Array("v", vred);
var vblack = new Image(); vblack.src = "img/0x02/DIVE-1.gif";
var v_b = new Array("v", vblack);

var prr = new Image(); prr.src = "img/0x02/person_red_red.gif";
var g = new Image(); g.src = "img/0x02/target.gif";
var pg = new Array("p", prr, "g", g);

var h0 = new Image(); h0.src = "img/0x02/be_here_now-0.gif";
var h1 = new Image(); h1.src = "img/0x02/be_here_now-1.gif";
var h2 = new Image(); h2.src = "img/0x02/be_here_now-2.gif";
var h3 = new Image(); h3.src = "img/0x02/be_here_now-3.gif";
var h4 = new Image(); h4.src = "img/0x02/be_here_now-4.gif";
var h5 = new Image(); h5.src = "img/0x02/be_here_now-5.gif";
var h = new Array("h0", h0, "h1", h1, "h2", h2, "h3", h3, "h4", h4, "h5", h5);
var h_off = new Array("h0", Black, "h1", Black, "h2", Black, "h3", Black, "h4", Black, "h5", Black);

var iStage = 0;

function SetStage(iNewStage)
{
	switch (iNewStage) {
		case 3 :
			UpdateImages(d);
			UpdateImages(e);
			UpdateImages(t);
			UpdateImages(v_f);
			document.images["v"].style.cursor = "pointer";
			break;
		case 4 :
			UpdateImages(pg);
			UpdateImages(v_r);
			document.images["v"].style.cursor = "default";
			document.images["g"].style.cursor = "pointer";
			break;
		case 5 :
			UpdateImages(h);
			document.images["g"].style.cursor = "default";
			ShowPane(0);
			break;
		case 6 :
			UpdateImages(v_b);
			UpdateImages(s_b);
			document.images["v"].style.cursor = "pointer";
			break;
	}
	iStage = iNewStage;
}

function Spacers(array)
{
	var SpacerArray = new Array(array.length);
	var i = 0;
	while (i < array.length) {
		SpacerArray[i] = array[i];
		SpacerArray[i+1] = Spacer;
		i = i + 2;
	}
	return SpacerArray;
}

function UpdateImages(array)
{
	if (iStage == 0)
		return;
	var i = 0;
	while (i < array.length) {
		document.images[array[i]].src = array[i+1].src;
		i = i + 2;
	}
}

function OnMouseOver(name)
{
	if (iStage <= 2) {
		switch (name) {
			case "d" : UpdateImages(d); bD = true; break;
			case "e" : UpdateImages(e); bE = true; break;
			case "t" : UpdateImages(t); bT = true; break;
		}
		if (bD && bE && bT)
			SetStage(2);
	}
	if (iStage == 3 && name == "v") {
		UpdateImages(v_s);
		UpdateImages(s_r);
	}
	if (iStage == 4 && name == "g")
		UpdateImages(h);
	if (iStage == 6 && name == "v")
		UpdateImages(v_r);
}

function OnMouseOut(name)
{
	if (iStage <= 2) {
		switch (name) {
			case "d" : UpdateImages(Spacers(d)); break;
			case "e" : UpdateImages(Spacers(e)); break;
			case "t" : UpdateImages(Spacers(t)); break;
		}
	}
	if (iStage == 3 && name == "v") {
		UpdateImages(v_f);
		UpdateImages(s_b);
	}
	if (iStage == 4 && name == "g")
		UpdateImages(h_off);
	if (iStage == 6 && name == "v")
		UpdateImages(v_b);
}

var iNumPanes = 8;
var iLastPane = iNumPanes;

function ShowPane(index)
{
	if (index == iLastPane)
		index++;
	var sDisplay = index == iNumPanes ? "none" : "block";
	for (var i = 0; i < iNumPanes; i++) {
		var sTextPaneName = "text-pane" + i;
		var TextPane = document.getElementById(sTextPaneName);
		TextPane.style.display = sDisplay;
		TextPane.style.top = index == i ? "-138px" : "-125px";
		TextPane.style.zIndex = iNumPanes - Math.abs(index - i);
	}
	iLastPane = index;
	if (index == iNumPanes)
		SetStage(6);
}

function OnClick(name)
{
	if (iStage == 3 && name == "v")
		SetStage(4);
	if (iStage == 4 && name == "g")
		SetStage(5);
	if (iStage == 6 && name == "v")
		window.location = "0x01.html";
}

// black band logic ------------------------------------------------------------

var bD = false;
var bE = false;
var bT = false;
var iLightGray = 0;
var iDarkGray = 0;
var iBlack = 0;

function DarkenBand(sImageName)
{
	if (iStage != 2)
		return;
	if (sImageName == "target") {
		DarkenBand("b19");
		DarkenBand("g");
		DarkenBand("b20");
		return;
	}
	var image = document.images[sImageName];
	switch (image.src) {
		case Spacer.src :
			if (bD && bE && bT) {
				image.src = LightGray.src;
				iLightGray++;
			}
			break;
		case LightGray.src :
			if (iLightGray > 4) {
				image.src = DarkGray.src;
				iDarkGray++;
			}
			break;
		case DarkGray.src :
			if (iLightGray > 8 && iDarkGray > 4) {
				image.src = Black.src;
				iBlack++;
			}
			break;
	}
	if (iBlack == 28)
		SetStage(3);
}

