// Battlezone 3 webfront core JavaScript document

//	Declare objects and variables
terminal = new Object();

terminal.idleCycleCount = 0;
terminal.lastPrint = 'terminal';
terminal.navArray = new Array('"http://www.battlezone3.com/forum"', '"http://www.battlezone3.com/dev"', '"http://www.battlezone3.com/public"');

//	Declare and define execution stack
terminal.execArray = new Array(20);
terminal.execArray[0] = '';

//	Declare functions
terminal.cycleIdle = function() {
	if(terminal.idleCycleCount % 2) {
		document.getElementById('powerLeds').style.backgroundImage = 'url(images/power_down.jpg)';
	}
	else {
		document.getElementById('powerLeds').style.backgroundImage = 'none';
	};
	terminal.idleCycleCount++;
	////////////////////////////////////////////////////
	// document.getElementById('focalSpan').innerHTML = terminal.idleCycleCount;
	////////////////////////////////////////////////////
	terminal.standbyCycle = setTimeout("terminal.cycleIdle();", 1000);
};

terminal.comBlueLoad = function(cycles) {
	this.cycles = this.cycles || cycles;
	if( this.cycles == 0 || isNaN(this.cycles) ) { return };
		
	document.getElementById('comBlue').style.backgroundImage = 'none';
	setTimeout("document.getElementById('comBlue').style.backgroundImage = 'url(images/com_blue.jpg)';", 50);
	this.cycles--;
	///////////////////////////////////////////
	// document.getElementById('2').innerHTML = this.cycles;
	///////////////////////////////////////////
	setTimeout("terminal.comBlueLoad()", 100);
};

terminal.brighten = function() {
	this.value = this.value || 0.5;
		
	document.getElementById('terminal').style.opacity = this.value;
	document.getElementById('poster').style.opacity = this.value;
	this.value += 0.05;
	this.Int = setTimeout("terminal.brighten()", 40);
	if(this.value > 1.05) { clearTimeout(this.Int) };
};

terminal.print = function(type, txt, target) {
	if(!this.target) { this.target = target || 'display' };
	///////////////////////////////////////////
	// document.getElementById('2').innerHTML = this.target;
	///////////////////////////////////////////
	
	switch(type) {
		case 'terminal':
			this.txt = this.txt || txt;
			this.lastPrint = type;
			break;
		case 'user':
			if(this.lastPrint == 'terminal') {
				document.getElementById('display').innerHTML += '<br />';
			};
			this.txt = this.txt || ('>>	' + txt);
			this.lastPrint = type;
			break;
		case 'plain':
			this.txt = this.txt || txt;
			this.lastPrint = type;
			break;
	};
	document.getElementById(this.target).innerHTML += this.txt.charAt(0);
	this.txt = this.txt.substring(1, this.txt.length);
	if(!this.txt) {
		document.getElementById(this.target).innerHTML += "<br />";
		this.target = undefined;
		return;
	}
	else { setTimeout("terminal.print()", 25) };
};

terminal.standby = function() {
	document.getElementById("terminal").style.cursor = "pointer";
	document.getElementById("display").style.cursor = "pointer";
	
	//////////////////////////////////////////
	// document.getElementById('focalSpan').style.color = '#00FF00';
	// document.getElementById('2').style.color = '#0000FF';
	//////////////////////////////////////////
	
	terminal.cycleIdle();
	terminal.standbyTimeout = setTimeout("terminal.boot()", 6000);
};

terminal.boot = function() {
	if(terminal.powerOn) { return };
	terminal.powerOn = true;
	
	clearTimeout(terminal.standbyCycle);
	clearTimeout(terminal.standbyTimeout);
	
	document.getElementById('terminal').style.cursor = 'auto';
	document.getElementById('display').style.cursor = 'auto';
	document.getElementById('powerLeds').style.backgroundImage = 'url(images/power_on.jpg)';
	
	setTimeout("document.getElementById('comGreen').style.backgroundImage = 'url(images/com_green.jpg)'", 100);
	setTimeout("document.getElementById('comBlue').style.backgroundImage = 'url(images/com_blue.jpg)'", 200);
	
	setTimeout("terminal.comBlueLoad(2)", 400);
	setTimeout("terminal.comBlueLoad(2)", 900);
	setTimeout("terminal.comBlueLoad(8)", 1300);
	setTimeout("terminal.comBlueLoad(8)", 2600);
	
	setTimeout("document.getElementById('bootLED1').style.backgroundImage = 'url(images/boot_led.jpg)';", 400);
	setTimeout("document.getElementById('bootLED1').style.backgroundImage = 'none';", 700);
	setTimeout("document.getElementById('bootLED2').style.backgroundImage = 'url(images/boot_led.jpg)';", 700);
	setTimeout("document.getElementById('bootLED2').style.backgroundImage = 'none';", 1000);
	setTimeout("document.getElementById('bootLED1').style.backgroundImage = 'url(images/boot_led.jpg)';", 1200);
	setTimeout("document.getElementById('bootLED2').style.backgroundImage = 'url(images/boot_led.jpg)';", 1200);
	setTimeout("document.getElementById('bootLED1').style.backgroundImage = 'none';", 1350);
	setTimeout("document.getElementById('bootLED2').style.backgroundImage = 'none';", 1350);
	setTimeout("document.getElementById('bootLED1').style.backgroundImage = 'url(images/boot_led.jpg)';", 1400);
	setTimeout("document.getElementById('bootLED2').style.backgroundImage = 'url(images/boot_led.jpg)';", 1400);
	setTimeout("document.getElementById('bootLED1').style.backgroundImage = 'none';", 1550);
	setTimeout("document.getElementById('bootLED2').style.backgroundImage = 'none';", 1550);
	setTimeout("document.getElementById('bootLED1').style.backgroundImage = 'url(images/boot_led.jpg)';", 1600);
	setTimeout("document.getElementById('bootLED2').style.backgroundImage = 'url(images/boot_led.jpg)';", 1600);
	
	
	setTimeout("document.getElementById('terminal').style.backgroundImage = 'url(images/genesis.jpg)';document.getElementById('poster').style.backgroundImage = 'url(images/nsdf_poster.jpg)';", 3000);
	setTimeout("document.getElementById('terminal').style.backgroundImage = 'none';document.getElementById('poster').style.backgroundImage = 'none'", 3200);
	setTimeout("document.getElementById('terminal').style.backgroundImage = 'url(images/genesis.jpg)';document.getElementById('poster').style.backgroundImage = 'url(images/nsdf_poster.jpg)';", 3250);
	setTimeout("document.getElementById('terminal').style.backgroundImage = 'none';document.getElementById('poster').style.backgroundImage = 'none'", 3300);
	setTimeout("document.getElementById('terminal').style.backgroundImage = 'url(images/genesis.jpg)';document.getElementById('poster').style.backgroundImage = 'url(images/nsdf_poster.jpg)';", 3350);
	setTimeout("document.getElementById('terminal').style.backgroundImage = 'none';document.getElementById('poster').style.backgroundImage = 'none';document.getElementById('comBlue').style.backgroundImage = 'none';document.getElementById('comGreen').style.backgroundImage = 'none';document.getElementById('powerLeds').style.backgroundImage = 'none';document.getElementById('bootLED1').style.backgroundImage = 'none';document.getElementById('bootLED2').style.backgroundImage = 'none';", 3450);
	setTimeout("document.getElementById('terminal').style.backgroundImage = 'url(images/genesis.jpg)';document.getElementById('poster').style.backgroundImage = 'url(images/nsdf_poster.jpg)';terminal.brighten();", 3500);
	setTimeout("document.getElementById('display').innerHTML = '&gt;&gt; rls.log -year 1998<br />Battlezone (c) released by Activision<br /><br />&gt;&gt; standby -terminal 03BZ<br />1998-02-28 - 03:48<br />Terminal 03BZ entering stand by<br /><br />'", 4500);
	
	now = new Date();
	if( now.getDate() < 10 ) { now.date = '0' + now.getDate() }
	else { now.day = now.getDate() }
	if( now.getMonth() < 9 ) { now.month = '0' + (now.getMonth() + 1) }
	else { now.month = (now.getMonth() + 1) }
	now.year = now.getYear() + 1900;
	now.date = now.day + "-" + now.month + "-" + now.year;
	setTimeout("terminal.print('terminal', '" + now.date + " - " + now.toTimeString().substr(0,5) + "')", 5500);
	setTimeout("terminal.print('terminal', 'Terminal 03BZ resumed from standby')", 7000);
	setTimeout("document.getElementById('display').innerHTML = '&nbsp';", 9500);
	
	
	
	setTimeout("terminal.print('user', '~/projects/genesis/nav.com')", 10000);
	
	
	setTimeout("terminal.print('plain', 'The Battlezone 3 Genesis Project')", 11500);
	setTimeout("terminal.print('plain', '*** Navigation options:')", 13000);
	setTimeout("terminal.print('plain', '')", 14000);
	setTimeout("document.getElementById('display').innerHTML += '<a id=\"navForum\" href=" + terminal.navArray[0] + "></a>'", 14100);
	setTimeout("terminal.print('plain', '(1) Public forum', 'navForum')", 14200);
	setTimeout("document.getElementById('display').innerHTML += '<a id=\"navDev\" href=" + terminal.navArray[1] + "></a>'", 15000);
	setTimeout("terminal.print('plain', '(2) Collaborative development', 'navDev')", 15200);
	setTimeout("document.getElementById('display').innerHTML += '<a id=\"navPublic\" href=" + terminal.navArray[2] + "></a>'", 16000);
	setTimeout("terminal.print('plain', '(3) Public webdomain', 'navPublic')", 16500);
	// setTimeout("document.getElementById('display').innerHTML = >'	~/projects/genesis/nav<br/>The Battlezone 3 Genesis Project<br/>*** Navigation options:<br/><br/><a href=\"http://forum.battlezone3.com/\" id=\"navForum\">(1) Forum<br/></a><a href=\"http://dev.battlezone3.com/\" id=\"navDev\">(2) Enterprise collaboration<br/></a><a href=\"http://www.battlezone3.com/public/\" id=\"navPublic\">(3) Public webdomainaaaaa<br/></a>", 18000);
};


