﻿// JScript File


// Global Arrays

var arrCrewNames=new Array(		"Captain Janeway", 
								"Chakotay",
								"B\'Elanna Torres",
								"Tuvok",
								"The Doctor",
								"Neelix",
								"Tom Paris",
								"Seven of Nine",
								"Harry Kim");

var arrStupidFuckingThingsTheCrewDo=new Array(	new Array("drinking coffee","talking to arrCrewNames"),
												new Array("contacting his father\'s spirit", "reviewing security protocols"),
												new Array("re-calibrating the warp core", "modulating shield harmonics"),
												new Array("performing a Vulcan meditation","playing a 5-dimensional game of chess with arrCrewNames"),
												new Array("calibrating his mobile emitter","examining arrCrewNames"),
												new Array("cooking a Tallaxian omelette for arrCrewNames","discussing crew morale with arrCrewNames"),
												new Array("piloting Voyager through an asteroid storm","telling arrCrewNames about 20th century culture"),
												new Array("trying to hold a conversation with arrCrewNames","performing a long range scan"),
												new Array("playing the clarinet","asking for relationship advice from arrCrewNames"));
								
var arrCrewGenders=new Array(	"F",
								"M",
								"F",
								"M",
								"M",
								"M",
								"M",
								"F",
								"M");								
								
var arrAliens=new Array(		"Borg",
								"Ferengi",
								"Hirogen",
								"Kazon",
								"Tallaxians");
								
var arrInternalLocations=new Array(	"on the bridge",
									"in the Astrometrics Lab",
									"in Engineering",
									"in Sick Bay",
									"in the turbolift",
									"near Jeffries Tube 37 alpha",
									"on the Holodeck");		
									
var arrThingsDoneToCrewByAliens=new Array(	"receives telepathic contact from",
											"is kidnapped by",
											"contracts a mysterious virus from",
											"is attacked by",
											"is abducted and enslaved by");
																								
								
function CrewMember()
{
	this.Index=RandomArrayIndex(arrCrewNames);
	this.Name=arrCrewNames[this.Index];
	this.Gender=arrCrewGenders[this.Index];
	this.StupidFuckingThingActorWasDoing=RandomArrayMember(arrStupidFuckingThingsTheCrewDo[this.Index]);
}

function DoScript()
{
	var objCrewMember=new CrewMember();
	var objSecondCrewMember=new CrewMember();
	while (objSecondCrewMember.Index==objCrewMember.Index)	//cheap way to get a unique 2nd crew member!
	{
		objSecondCrewMember=new CrewMember();
	}
	var strPlot = new String;
	
	strPlot+=objCrewMember.Name + " is ";
	strPlot+=objCrewMember.StupidFuckingThingActorWasDoing.replace("arrCrewNames",AlmostRandomArrayMember(arrCrewNames, objCrewMember.Index)) + " ";
	strPlot+=RandomArrayMember(arrInternalLocations) + " when ";
	strPlot +=(objCrewMember.Gender=="M" ? "he" : "she") + " " + RandomArrayMember(arrThingsDoneToCrewByAliens);
	strPlot +=" the " + RandomArrayMember(arrAliens) + ".";
	
	strPlot+= " Will " + objSecondCrewMember.Name + " be able to save " + (objCrewMember.Gender=="M" ? "him" : "her") + " by " ;
	strPlot += objSecondCrewMember.StupidFuckingThingActorWasDoing.replace("arrCrewNames",AlmostRandomArrayMember(arrCrewNames, objSecondCrewMember.Index)) + "?";
	
	document.getElementById("prgStarTrekScript").innerHTML = strPlot;

}

function RandomArrayMember(arrArray)
{
	var intIndex=Math.floor(Math.random() * arrArray.length);
	return arrArray[intIndex];
}

function AlmostRandomArrayMember(arrArray, intOmittedIndex)
{
	var intIndex;
	intIndex=Math.floor(Math.random() * arrArray.length);
	while (intIndex==intOmittedIndex)
	{
		intIndex=Math.floor(Math.random() * arrArray.length);
	}
	return arrArray[intIndex];
}

function RandomArrayIndex(arrArray)
{
	return Math.floor(Math.random() * arrArray.length);
}
