//PROGRAMMER: WILLIAM SCHAEFERLE

<!--HIDE

var pos = 250;
// document.getElementById("layer07").style.left=pos + "px";

var j = 0;					/* Current length of train */

var timergID = null;

var FirstTime = true;



var timerID = null;

var timerRunning = false;

var TrainStopped = false;

var TrainSpeed = 4;

var SpeedSelected = 4;



var TrainmarSpeed = 4;

var TrainmarSpeedValue = 0;

var TrainmarDirection = 'left';



var TrainSet = new Array(28);

var OtherCars = new Array(40);

var GrainCars = new Array(20);

var Intermodal = new Array(48);	

var Autorack = new Array(25);

var CoalCars = new Array(29);

var TankCars = new Array(15);

var AmtrakCars = new Array(11);

var AmtrakFreight = new Array(8);

var MetraCars = new Array(5);	

var CarrierList = new Array(10);

var ModelList = new Array();

var FreightList = new Array();



var Spacer = new Image(1,1);

Spacer.src = "images/blank.gif";



for(var i=0; i < TrainSet.length; ++i){

	TrainSet[i] = new Image();}



/* Other Cars */



for(var i=0; i < OtherCars.length; ++i){

	OtherCars[i] = new Image();}



OtherCars[0].src = "images/KCSboxcar.gif";

OtherCars[1].src = "images/NS72cb-load.gif";

OtherCars[2].src = "images/NS72cbload2.gif";

OtherCars[3].src = "images/NSboxcar.gif";

OtherCars[4].src = "images/NScenter.gif";

OtherCars[5].src = "images/NScoil.gif";

OtherCars[6].src = "images/NSgondola.gif";

OtherCars[7].src = "images/NShi-cube.gif";

OtherCars[8].src = "images/OCcoil.gif";

OtherCars[9].src = "images/rboxboxcar2.gif";

OtherCars[10].src = "images/Rboxcombbox.gif";

OtherCars[11].src = "images/ROCKboxcar.gif";

OtherCars[12].src = "images/rimaxicube.gif";

OtherCars[13].src = "images/SOUboxcar.gif";

OtherCars[14].src = "images/TRICONcenter.gif";

OtherCars[15].src = "images/CSXhi-cube.gif";

OtherCars[16].src = "images/GThi-cube89.gif";

OtherCars[17].src = "images/TTX72cbmiller.gif";

OtherCars[18].src = "images/TTXbulkhead.gif";

OtherCars[19].src = "images/TTXcenter.gif";

OtherCars[20].src = "images/TTXcenterbeamload.gif";

OtherCars[21].src = "images/TTXlowboy.gif";

OtherCars[22].src = "images/502SDBOXOC_EJE-ORG.gif";

OtherCars[23].src = "images/WCbox.gif";

OtherCars[24].src = "images/WCRCcenterbeam.gif";

OtherCars[25].src = "images/WC72cbPBP.gif";

OtherCars[26].src = "images/CPcenter.gif";

OtherCars[27].src = "images/CSX4doorhi-cube.gif";

OtherCars[28].src = "images/Drailgon.gif";

OtherCars[29].src = "images/40PSBOX_EJE-GRN-OR.gif";

OtherCars[30].src = "images/BNSFhi-cube.gif";

OtherCars[31].src = "images/40PSBOX_EJE-GRN-YLW1.gif";

OtherCars[32].src = "images/CNhi-cube.gif";

OtherCars[33].src = "images/CRhi-cube.gif";

OtherCars[34].src = "images/40SDBOXAAR_EJE-ORG2.gif";

OtherCars[35].src = "images/fgewhite.gif";

OtherCars[36].src = "images/Dgwsboxcar.gif";

OtherCars[37].src = "images/Troporig.gif";

OtherCars[38].src = "images/Tropicana.gif";

OtherCars[39].src = "images/Tropicana2.gif";



/* Grain Cars */



for(var i=0; i < GrainCars.length; ++i){

	GrainCars[i] = new Image();}



GrainCars[0].src = "images/CornProductsCenterflow.gif";

GrainCars[1].src = "images/Cargillcenterflow.gif";

GrainCars[2].src = "images/NScovhop.gif";

GrainCars[3].src = "images/UPcoveredhopp.gif";

GrainCars[4].src = "images/UPcoveredhopp2.gif";

GrainCars[5].src = "images/CNgrnhop1.gif";

GrainCars[6].src = "images/CNgrnhop2.gif";

GrainCars[7].src = "images/CNgrnhop3.gif";

GrainCars[8].src = "images/CNgrnhop4.gif";

GrainCars[9].src = "images/CNgrnhop5.gif";

GrainCars[10].src = "images/CNcovhop.gif";

GrainCars[11].src = "images/CPgrnhop1.gif";

GrainCars[12].src = "images/CPgrnhop2.gif";

GrainCars[13].src = "images/CPgrnhop3.gif";

GrainCars[14].src = "images/CPgrnhop4.gif";

GrainCars[15].src = "images/CPcenterflow.gif";

GrainCars[16].src = "images/CPcenterflow2.gif";

GrainCars[17].src = "images/CSXcenterflowgrainexpress.gif";

GrainCars[18].src = "images/CRcovhop1.gif";

GrainCars[19].src = "images/CRcovhop2.gif";



/* Intermodal Cars */



for(var i=0; i < Intermodal.length; ++i){

	Intermodal[i] = new Image();}



Intermodal[0].src = "images/TTXthrallemptys.gif";

Intermodal[1].src = "images/CPwellempty.gif";

Intermodal[2].src = "images/TTXthrallmexicanacbcs.gif";

Intermodal[3].src = "images/TTXtofctranscwx.gif";

Intermodal[4].src = "images/TTXtofcdolejbhunt.gif";

Intermodal[5].src = "images/TTXtofctipbn.gif";

Intermodal[6].src = "images/TTXtofcccxcse.gif";

Intermodal[7].src = "images/BNemptyl.gif";

Intermodal[8].src = "images/BNemptyc.gif";

Intermodal[9].src = "images/BNemptyr.gif";

Intermodal[10].src = "images/TTXthrall53emptyl.gif";

Intermodal[11].src = "images/TTXthrall53emptyc.gif";

Intermodal[12].src = "images/TTXthrall53emptyr.gif";

Intermodal[13].src = "images/APLstackemptyl.gif";

Intermodal[14].src = "images/APLstackemptyc.gif";

Intermodal[15].src = "images/APLstackemptyr.gif";

Intermodal[16].src = "images/BNooclnacsl.gif";

Intermodal[17].src = "images/BNemptyl.gif";

Intermodal[18].src = "images/BNaplunigloryc.gif";

Intermodal[19].src = "images/BNevergreenempc.gif";

Intermodal[20].src = "images/BNevergreenempc.gif";

Intermodal[21].src = "images/BNyangtexcastc.gif";

Intermodal[22].src = "images/BNhanjincoscor.gif";

Intermodal[23].src = "images/BNcoscor.gif";

Intermodal[24].src = "images/gundNYKa40l2.gif";

Intermodal[25].src = "images/gundNYK40l2.gif";

Intermodal[26].src = "images/gundNYKa40c2.gif";

Intermodal[27].src = "images/gundNYKb40c2.gif";

Intermodal[28].src = "images/gundNYKc40c2.gif";

Intermodal[29].src = "images/gundNYK40c2.gif";

Intermodal[30].src = "images/gundNYKa40r2.gif";

Intermodal[31].src = "images/gundNYK40r2.gif";

Intermodal[32].src = "images/gundKLINEa40l2.gif";

Intermodal[33].src = "images/gundKLINEc40l2.gif";

Intermodal[34].src = "images/gundKLINEa40c2.gif";

Intermodal[35].src = "images/gundKLINEb40c2.gif";

Intermodal[36].src = "images/gundKLINEc40c2.gif";

Intermodal[37].src = "images/gundKLINEa45c2.gif";

Intermodal[38].src = "images/gundKLINEa40r2.gif";

Intermodal[39].src = "images/gundKLINEc40r2.gif";

Intermodal[40].src = "images/gundAPCAPL45l2.gif";

Intermodal[41].src = "images/gundAPCAPL48l2.gif";

Intermodal[42].src = "images/gundAPCAPL45c2.gif";

Intermodal[43].src = "images/gundAPCAPL45c1.gif";

Intermodal[44].src = "images/gundAPCAPL48c2.gif";

Intermodal[45].src = "images/gundAPCAPL48c2.gif";

Intermodal[46].src = "images/gundAPCAPL45r2.gif";

Intermodal[47].src = "images/gundAPCAPL48r2.gif";



/* Autorack Cars */



for(var i=0; i < Autorack.length; ++i){

	Autorack[i] = new Image();}



Autorack[0].src = "images/BNautorack.gif";

Autorack[1].src = "images/CNautorack.gif";

Autorack[2].src = "images/CNautorack2.gif";

Autorack[3].src = "images/CPautorack.gif";

Autorack[4].src = "images/CPautorack2.gif";

Autorack[5].src = "images/BNSFautorack2.gif";

Autorack[6].src = "images/BNSFautorack3.gif";

Autorack[7].src = "images/CRautorack.gif";

Autorack[8].src = "images/CRautorack2.gif";

Autorack[9].src = "images/CRQautorack.gif";

Autorack[10].src = "images/CRQautorack2.gif";

Autorack[11].src = "images/CSXautorack.gif";

Autorack[12].src = "images/GTautorack.gif";

Autorack[13].src = "images/KCSautorack.gif";

Autorack[14].src = "images/KCSnaftarack.gif";

Autorack[15].src = "images/NSautorack.gif";

Autorack[16].src = "images/NSautorack2.gif";

Autorack[17].src = "images/TFMautorack.gif";

Autorack[18].src = "images/UPautorack.gif";

Autorack[19].src = "images/TTXautorack.gif";

Autorack[20].src = "images/SOOautorack.gif";

Autorack[21].src = "images/SPautorack.gif";

Autorack[22].src = "images/DRGautorack.gif";

Autorack[23].src = "images/GTautorack2.gif";

Autorack[24].src = "images/CNWautorack.gif";



/* Coal Cars */



for(var i=0; i < CoalCars.length; ++i){

	CoalCars[i] = new Image();}



CoalCars[0].src = "images/UPhopp1.gif";

CoalCars[1].src = "images/UPhopp2.gif";

CoalCars[2].src = "images/UPhopp3e.gif";

CoalCars[3].src = "images/UPhopp3f.gif";

CoalCars[4].src = "images/FURXbethgonende.gif";

CoalCars[5].src = "images/FURXbethgonendf.gif";

CoalCars[6].src = "images/FURXbethgonlefte.gif";

CoalCars[7].src = "images/FURXbethgonleftf.gif";

CoalCars[8].src = "images/FURXbethgonrighte.gif";

CoalCars[9].src = "images/FURXbethgonrightf.gif";

CoalCars[10].src = "images/CSXcoalporter.gif";

CoalCars[11].src = "images/CSXcoalportermt.gif";

CoalCars[12].src = "images/NScoalporter.gif";

CoalCars[13].src = "images/CNbethgonleftE.gif";

CoalCars[14].src = "images/CNbethgonleftL.gif";

CoalCars[15].src = "images/CNbethgonrightE.gif";

CoalCars[16].src = "images/CNbethgonrightL.gif";

CoalCars[17].src = "images/CNbethgonrotE.gif";

CoalCars[18].src = "images/CNbethgonrotL.gif";

CoalCars[19].src = "images/CNhopper.gif";

CoalCars[20].src = "images/CNhopperE.gif";

CoalCars[21].src = "images/CRhopper.gif";

CoalCars[22].src = "images/CRhoppermt.gif";

CoalCars[23].src = "images/BNSFcoalhopperblack.gif";

CoalCars[24].src = "images/BNSFcoalhopperblackempty.gif";

CoalCars[25].src = "images/BNSFcoalhoppergreen.gif";

CoalCars[26].src = "images/BNSFcoalhoppergreenempty.gif";

CoalCars[27].src = "images/coalhopperblack.gif";

CoalCars[28].src = "images/coalhopperblackempty.gif";



/* Tank Cars */



for(var i=0; i < TankCars.length; ++i){

	TankCars[i] = new Image();}



TankCars[0].src = "images/UTLXtankblue.gif";

TankCars[1].src = "images/Dgatxtankcar.gif";

TankCars[2].src = "images/citcotank.gif";

TankCars[3].src = "images/CRGXtank.gif";

TankCars[4].src = "images/Lgatxtankcar.gif";

TankCars[5].src = "images/AGPtankdenbow.gif";

TankCars[6].src = "images/ProcorGrnT.gif";

TankCars[7].src = "images/ProcorTankBlkL.gif";

TankCars[8].src = "images/ProcorTankBlkR.gif";

TankCars[9].src = "images/UtlxProcor.gif";

TankCars[10].src = "images/utlxtank2.gif";

TankCars[11].src = "images/ppgtank.gif";

TankCars[12].src = "images/40tank1d-hooker.gif";

TankCars[13].src = "images/40tank_safk.gif";

TankCars[14].src = "images/CRGXFOODStank.gif";



/* Amtrak Cars */



for(var i=0; i < AmtrakCars.length; ++i){

	AmtrakCars[i] = new Image();}



AmtrakCars[0].src = "images/AMTKhorizondinette3.gif";

AmtrakCars[1].src = "images/AMTKhorizoncoach3.gif";

AmtrakCars[2].src = "images/AMTKtransitionleft.gif";

AmtrakCars[3].src = "images/AMTKpacificparlour.gif";

AmtrakCars[4].src = "images/AMTKsightseerlounge.gif";

AmtrakCars[5].src = "images/AMTKsuperlinercoach.gif";

AmtrakCars[6].src = "images/AMTKsuperlinersleeper.gif";

AmtrakCars[7].src = "images/AMTKgallery3.gif";

AmtrakCars[8].src = "images/AMTKgallerycafe3.gif";

AmtrakCars[9].src = "images/AMTKgallerycab3.gif";

AmtrakCars[10].src = "images/AMTKbaggage.gif";



/* Amtrak Freight */



for(var i=0; i < AmtrakFreight.length; ++i){

	AmtrakFreight[i] = new Image();}



AmtrakFreight[0].src = "images/AMTKmhc.gif";

AmtrakFreight[1].src = "images/AMTKmhcIII.gif";

AmtrakFreight[2].src = "images/AMTKmhcIV.gif";

AmtrakFreight[3].src = "images/AMTKreeferIV.gif";

AmtrakFreight[4].src = "images/AMTKxboxgrn.gif";

AmtrakFreight[5].src = "images/AMTKxboxIV.gif";

AmtrakFreight[6].src = "images/AMTKxboxnew.gif";

AmtrakFreight[7].src = "images/AMTKxboxslvr.gif";



/* Metra Cars */



for(var i=0; i < MetraCars.length; ++i){

	MetraCars[i] = new Image();}



MetraCars[0].src = "images/metra2sblue4wgalleryl.gif";

MetraCars[1].src = "images/metra2sblue4wgalleryr.gif";

MetraCars[2].src = "images/BNSFgallery.gif";

MetraCars[3].src = "images/BNSFcabcarr.gif";

MetraCars[4].src = "images/metra2sblue4wcabr.gif";



/* Carrier List */

CarrierList[0] = "UP";

CarrierList[1] = "CP";	

CarrierList[2] = "CSX";

CarrierList[3] = "NS";

CarrierList[4] = "CN";

CarrierList[5] = "CR";

CarrierList[6] = "BNSF";

CarrierList[7] = "KCS";

CarrierList[8] = "AMTK";

CarrierList[9] = "METRA";



/* Union Pacific Engines */

ModelList[0] = new Array("AC6000CW", "C30-7", "C40-8W", "C44-9W", "DD40X", "GP40-2", "SD40-2", "SD60", "SD90MAC", "SW1500");



/* Canadian Pacific Engines */

ModelList[1] = new Array("AC4400CW", "ES44AC", "F7", "GP9", "GP38AC", "GP40", "SD40-2", "SD80MAC", "SD90MAC", "S2");

	

/* CSX Engines */

ModelList[2] = new Array("AC4400CW", "AC6000CW", "C30-7", "GP38-2", "GP40-2", "GP60", "MP-15AC", "SD40-2", "SD60", "SD80MAC");



/* Norfolk and Southern Engines */

ModelList[3] = new Array("C40-9W", "GP38-2",  "GP40-2", "GP59", "GP60", "MP-15DC", "SD60", "SD70", "SD80MAC");



/* Canadian National Engines */

ModelList[4] = new Array("C44-9W", "GP9", "GP40-2W", "SD40", "SD40-2", "SW1500", "GP38-2SLUG", "GP9SLUG", "F7");



/* CONRAIL Engines */

ModelList[5] = new Array("C40-8W", "GP15-1", "GP38-2", "GP40-2", "SD40-2", "SD60", "SD70MAC", "SD80MAC", "SW1001", "SW1500");



/* BNSF Engines */

ModelList[6] = new Array("AC4400CW", "C30-7", "C40-8W", "C44-9W", "GP38-2", "GP50", "SD9", "SD40-2", "SD70MAC", "SW1500");



/* KCS Engines */

ModelList[7] = new Array("AC4400CW", "GP38-2", "GP40", "GP40-2", "SD40", "SD40-2", "SD45", "SD50", "SD60", "SW1500");



/* Amtrak Engines */

ModelList[8] = new Array("B32-8WH", "F40PH-2", "GP40TC", "P32", "P40", "P42", "SW1000", "GP7");



/* METRA Engines */

ModelList[9] = new Array("F40PH-2", "F40PHM-2", "F7");



/* Freight List */

FreightList[0] = new Array("Mixed Freight", "Coal Train", "Grain Train", "Intermodal", "Autorack", "Tank Train");



/* Amtrak Freight List */

FreightList[1] = new Array("Superliner w/t freight", "Superliner w/o freight", "Horizon w/t freight", "Horizon w/o freight", "Gallery");



/* METRA Freight List */

FreightList[2] = new Array("Metra UP", "Metra BNSF"); 





function StartForm(){

	if (navigator.appName == "Netscape"){

		alert("Does not work with Firefox." + "\n" + "Use Internet Explore instead!");

		location.href="index.html";}

	Layer07.style.pixelLeft = pos;
	document.TRAINSET.RAILROAD.focus();

}



/* Speed of train */



function CheckEvent(){

	if(timerRunning)

    		{clearInterval(timerID);

			TrainmarSpeed = document.TRAINSET.SPEED.selectedIndex * 4;

			TrainmarSpeed += 4;

			timerRunning = false;}

}



function ChangeSpeed(){

	CheckEvent();

	TrainmarSpeedValue = document.TRAINSET.SPEED.selectedIndex;

	SpeedSelected = document.TRAINSET.SPEED.selectedIndex * 4;

	SpeedSelected += 4;

	

	if (TrainSpeed >= SpeedSelected){

		FastTrain();}

	else{

		SlowTrain();}

}



function SlowTrain(){

	TrainSpeed += .5;

	if (TrainSpeed < SpeedSelected){

		Trainmar.scrollDelay = TrainSpeed;

		TrainmarSpeed = TrainSpeed;

		timerID = setTimeout("SlowTrain()",100);

  		timerRunning = true;}

	else{

		TrainSpeed = SpeedSelected;

		Trainmar.scrollDelay = TrainSpeed;

		TrainmarSpeed = TrainSpeed;

		document.TRAINSET.RAILROAD.focus();

		timerRunning = false;}



	if (TrainSpeed >= 36){					/* Train is Stopped */  	

		TrainStopped = true;

		Trainmar.stop();}

}



function FastTrain(){

	if (TrainSpeed >= 36 && SpeedSelected < 36){	/* If train is Stopped and will move */  	

		TrainStopped = false;

		Trainmar.start();}

	

	TrainSpeed -= .5;

	if (TrainSpeed > SpeedSelected){

		Trainmar.scrollDelay = TrainSpeed;

		TrainmarSpeed = TrainSpeed;

		timerID = setTimeout("FastTrain()",100);

  		timerRunning = true;}

	else{

		TrainSpeed <= SpeedSelected;

		Trainmar.scrollDelay = TrainSpeed;

		TrainmarSpeed = TrainSpeed;

		document.TRAINSET.RAILROAD.focus();

		timerRunning = false;}

}



function ForwardTrain(){

	if (TrainStopped){

		TrainmarDirection = "left";

		Trainmar.direction = "left";}

}



function ReverseTrain(){

	if (TrainStopped){

		TrainmarDirection = "right";

		Trainmar.direction = "right";}

}



function Random_Number(max){

	var number1 = Math.random();

	return Math.floor(number1 *= max);

}



/* Build and collapse lists */ 



function BuildCarrier(){

	if (document.TRAINSET.RAILROAD.selectedIndex == 8){        /* Amtrak */   

		BuildFreight(1)

		BuildCars(5, 25)}

	else if (document.TRAINSET.RAILROAD.selectedIndex == 9){   /* Metra */        

		ChangeButton(0)

		BuildFreight(2)		

		BuildCars(3, 11)}

/*	else if (document.TRAINSET.FREIGHT.length < 6){    Freight */

	else {                                          /* Freight */

		BuildFreight(0)

	    BuildCars(1, 25)}

	CollapseList(5);

	BuildD1();

	if (document.TRAINSET.ENGINE[1].checked){        

		CollapseList(6)

		BuildD2()}

}



function BuildCars(min, max){

	CollapseList(1);

	var t = min;

	for (min; min <= max; min++){

		document.TRAINSET.CARS.options[min - t] = new Option(min, min)}

	document.TRAINSET.CARS.options[10 - t].selected = true;

}



function BuildFreight(t){

	CollapseList(4);

	for (var i = 0; i < 10; i++){

		if (FreightList[t] [i] == null)

			{break;}

		document.TRAINSET.FREIGHT.options[i] = new Option(FreightList[t] [i], i)}

	document.TRAINSET.FREIGHT.options[0].selected = true;

}   



function BuildD1(){

	var t = document.TRAINSET.RAILROAD.selectedIndex;

	for (var i=0; i < 10; i++){

		if (ModelList[t] [i] == null)

			{break;}

		document.TRAINSET.D1.options[i] = new Option(ModelList[t] [i], i)}

	document.TRAINSET.D1.options[0].selected = true;

}



function BuildD2(){

	Layer100.style.visibility = "visible";

	Layer101.style.visibility = "visible";

	var t = document.TRAINSET.RAILROAD.selectedIndex;

	for (var i=0; i < 10; i++){

		if (ModelList[t] [i] == null)

			{break;}

		document.TRAINSET.D2.options[i] = new Option(ModelList[t] [i], i)}

	document.TRAINSET.D2.options[0].selected = true;

}



function CollapseD2(){

	CollapseList(6);

	Layer100.style.visibility = "hidden";

	Layer101.style.visibility = "hidden";

}



function CollapseList(x){

	document.forms[0].elements[x].options.length = 0;

}



function ChangeButton(x){

	if (x == 0){

		document.TRAINSET.ENGINE[0].checked = true;

		document.TRAINSET.ENGINE[1].checked = false;

		CollapseD2();}

	else if (x == 1){

		document.TRAINSET.ENGINE[0].checked = false;

		document.TRAINSET.ENGINE[1].checked = true;}

}



/* Build Train */



function BuildEngine(){

	var t = document.TRAINSET.RAILROAD.selectedIndex;

	var i = document.TRAINSET.D1.selectedIndex;

	var excerpt = ModelList[t] [i].substring(0,3);

	TrainSet[j++].src = "images/" + CarrierList[t] + ModelList[t] [i] + ".gif";



	if (document.TRAINSET.ENGINE[1].checked){

		i = document.TRAINSET.D2.selectedIndex;

		TrainSet[j++].src = "images/" + CarrierList[t] + ModelList[t] [i] + ".gif";

		if (CarrierList[t] == "AMTK" && excerpt == ModelList[t] [i]){

			switch (excerpt){

			case "P32":	

				TrainSet[j - 1].src = "images/" + CarrierList[t] + ModelList[t] [i] + "707.gif";

				break;

			case "P40":	

				TrainSet[j - 1].src = "images/" + CarrierList[t] + ModelList[t] [i] + "840.gif";

				break;

			case "P42":	

				TrainSet[j - 1].src = "images/" + CarrierList[t] + ModelList[t] [i] + "171.gif";

				break;

			default:

				break;}}}

}



function BuildMix(){

	var max = eval(document.TRAINSET.CARS.value) + j;

	for (j; j < max; j++){

		switch (Random_Number(10)){    

		case 0:

			TrainSet[j].src = CoalCars[Random_Number(CoalCars.length)].src;

			break;

		case 1:

			TrainSet[j].src = GrainCars[Random_Number(GrainCars.length)].src;

			break;

		case 2:

			TrainSet[j].src = Intermodal[Random_Number(7)].src;

			break;

		case 3:

			TrainSet[j].src = Autorack[Random_Number(Autorack.length)].src;

			break;

		case 4:

			TrainSet[j].src = TankCars[Random_Number(TankCars.length)].src;

			break;

		default:

			TrainSet[j].src = OtherCars[Random_Number(OtherCars.length)].src;}}

}



function BuildCoal(){

	var max = eval(document.TRAINSET.CARS.value) + j;

	var t = document.TRAINSET.RAILROAD.selectedIndex;

	switch (CarrierList[t]){

		case "UP":

			var x = Random_Number(4);

			break;	

		case "CP":

			var x = Random_Number(2) + 27;

			break;	

		case "CSX":

			var x = Random_Number(2) + 10;

			break;	

		case "NS":

			var x = 12;

			break;	

		case "CN":

			var x = Random_Number(8) + 13;

			break;		    

		case "CR":

			var x = Random_Number(2) + 21;

			break;

		case "BNSF":

			var x = Random_Number(4) + 23;

			break;	

		case "KCS":

			var x = Random_Number(6) + 4;

			break;

		default:
			
			var x = 12;

			break;}



	for (j; j < max; j++){

		TrainSet[j].src = CoalCars[x].src;}				

}



function BuildGrain(){

	var max = eval(document.TRAINSET.CARS.value) + j;

	for (j; j < max; j++){

		TrainSet[j].src = GrainCars[Random_Number(GrainCars.length)].src;}	

}



function BuildIntermodal(){

	var max = eval(document.TRAINSET.CARS.value) + j;

	var t = Random_Number(3);

	var maxunits = Math.floor((max - j) / 5);

	var maxsingles = max - j;

	maxsingles %= 5;



	if (Random_Number(3) == 0){   

		for (q=0; q < maxsingles; q++){

			switch (t){    

			case 0:

				TrainSet[j++].src = Intermodal[Random_Number(2)].src;

				break;

			default:

				TrainSet[j++].src = Intermodal[2 + Random_Number(5)].src;

				break;}}} 



	for (q=0; q < maxunits; q++){

			switch (t){    

		case 0:

			var x = Random_Number(3) * 3;	

			TrainSet[j++].src = Intermodal[7 + x].src;

			for (var i= 1; i < 4; i++){

				TrainSet[j++].src = Intermodal[8 + x].src;}

			TrainSet[j++].src = Intermodal[9 + x].src;

			break;

		default:

			var x = Random_Number(4) * 8;

			TrainSet[j++].src = Intermodal[16 + Random_Number(2) + x].src;

			for (var i= 1; i < 4; i++){

				TrainSet[j++].src = Intermodal[18 + Random_Number(4) + x].src;}

			TrainSet[j++].src = Intermodal[22 + Random_Number(2) + x].src;

			break;}}



	for (j; j < max; j++){

		switch (t){    

		case 0:

			TrainSet[j].src = Intermodal[Random_Number(2)].src;

			break;

		default:

			TrainSet[j].src = Intermodal[2 + Random_Number(5)].src;

			break;}}	

}



function BuildAutorack(){

	var max = eval(document.TRAINSET.CARS.value) + j;

	for (j; j < max; j++){

		TrainSet[j].src = Autorack[Random_Number(Autorack.length)].src;}

}



function BuildTankCars(){

	var max = eval(document.TRAINSET.CARS.value) + j;

	for (j; j < max; j++){

		TrainSet[j].src = TankCars[Random_Number(TankCars.length)].src;}

}



function BuildFred(){

	TrainSet[j++].src = "images/fredleft.gif";

}



function BuildAmtrak(){

	var max = eval(document.TRAINSET.CARS.value) + j;

	var i = document.TRAINSET.FREIGHT.selectedIndex;

	var x = Random_Number(Math.floor(max / 2)) + 1;



	if (max - j > 7 && i != 4){					/* Amtrak Baggage */	

		switch (Random_Number(3)){

			case 0:

				TrainSet[j++].src = AmtrakCars[10].src;

				break;

			default:

				break;}}

	

	switch (i){

		case 0:

			TrainSet[j++].src = AmtrakCars[2].src;  /* transition */

			for (j; j < max - x; j++){

				TrainSet[j].src = AmtrakCars[Random_Number(4) + 3].src;}

			for (j; j < max; j++){					/* Amtrak Freight */

				TrainSet[j].src = AmtrakFreight[Random_Number(AmtrakFreight.length)].src;}

			BuildFred();

			break;

		case 1:

			TrainSet[j++].src = AmtrakCars[2].src;  /* transition */

			for (j; j < max; j++){

				TrainSet[j].src = AmtrakCars[Random_Number(4) + 3].src;}

			break;

		case 2:

			for (j; j < max - x; j++){

				TrainSet[j].src = AmtrakCars[1].src;}

				TrainSet[Math.floor((max - x) / 2)].src = AmtrakCars[0].src; /* Amtrak Horizon cafe */

			for (j; j < max; j++){					/* Amtrak Freight */

				TrainSet[j].src = AmtrakFreight[Random_Number(AmtrakFreight.length)].src;}

			BuildFred();

			break;

    	case 3:

			for (j; j < max; j++){

				TrainSet[j].src = AmtrakCars[1].src;}

			TrainSet[Math.floor(max / 2)].src = AmtrakCars[0].src; /* Amtrak Horizon cafe */

			break;

		case 4:

			for (j; j < max; j++){

				TrainSet[j].src = AmtrakCars[7].src;}

			TrainSet[Math.floor(max / 2)].src = AmtrakCars[8].src; /* Amtrak gallery cafe */

			TrainSet[j - 1].src = AmtrakCars[9].src;   /* Amtrak gallery cab */

			break;

		default:

			break;}

	

}



function BuildMetra(){

	var max = eval(document.TRAINSET.CARS.value) + j;

	var i = document.TRAINSET.FREIGHT.selectedIndex;

	

	for (j; j < max; j++){

		switch (i){    

		case 0:

			TrainSet[j].src = MetraCars[Random_Number(2)].src;

			break;

		case 1:

			TrainSet[j].src = MetraCars[2].src;
		
		default:

			break;}}


	TrainSet[--j].src = MetraCars[4 - i].src;

}



function StartTrain(){

	if (Random_Number(5) == 0 && document.TRAINSET.Random.checked){

		Traingen.stop();

		Traingen.scrollDelay = Random_Number(8) + 4;

		Traingen.loop = "1"; 

		Traingen.onFinish="RestartTrain()";

		Traingen.start();

		}

	else

		{timergID = setTimeout("StartTrain()",10000);}

}



function RestartTrain(){

	timergID = setTimeout("StartTrain()",10000);

}



function ConnectTrain(){

	if (FirstTime){

		BuildTrain();

		FirstTime = false}

	else{

		TrainStopped = false;

		TrainSpeed = TrainmarSpeed;

		Trainmar.direction = TrainmarDirection;

		Trainmar.scrollDelay = TrainmarSpeed;

		Trainmar.start();

		document.TRAINSET.SPEED.value = TrainmarSpeedValue;

		document.images.engine1.src = TrainSet[0].src; /* Place image where train images starts on page */

		for (var t = 0; t < document.images.length; t++){
			
			if(document.images[t].src == TrainSet[0].src)

				{break;}}

		/* Where train images starts on page */


		for (var i = 0; i < TrainSet.length; i++){

			document.images[t++].src = TrainSet[i].src;}} /* HTML images */

		/*	document.images[50].src = "images/up3985right.gif";	*/

		/*	Layer02.style.zIndex = 10;		*/

}



function BuildTrain(){

	CheckEvent();

	j = 0;		/* Current length of train */

	for(var i=0; i < TrainSet.length; ++i) {

		TrainSet[i].src = Spacer.src;}

	BuildEngine();

	if (document.TRAINSET.RAILROAD.selectedIndex == 8){             /* Amtrak */   

		BuildAmtrak()}

	else if (document.TRAINSET.RAILROAD.selectedIndex == 9){        /* Metra */

		BuildMetra()}

	else switch (document.TRAINSET.FREIGHT.selectedIndex){          /* Freight */

		case 0:

			BuildMix();

			BuildFred();

			break;

		case 1:

			BuildCoal();

			BuildFred();

			break;

		case 2:

			BuildGrain();

			BuildFred();

			break;

		case 3:

			BuildIntermodal();

			BuildFred();

			break;

		case 4:

			BuildAutorack();

			BuildFred();

			break;

		case 5:

			BuildTankCars();

			BuildFred();

			break;

		default:

			BuildTankCars();

			BuildFred();

			break;}

}



function change(obj,nid)

{

	obj.id=nid;

}

//END HIDE-->

