// JavaScript Document

//Global strings

TMinus6HGo = "S0007TMinus6HGo.htm";
TMinus6HTest1 = "S0007TMinus6HTest1.htm";
TMinus6HTest2 = "S0007TMinus6HTest2.htm";

TMinus5HGo = "S0007TMinus5HGo.htm";
TMinus5HTest1 = "S0007TMinus5HTest1.htm";
TMinus5HTest2 = "S0007TMinus5HTest2.htm";

TMinus4HGo = "S0007TMinus4HGo.htm";
TMinus4HTest1 = "S0007TMinus4HTest1.htm";
TMinus4HTest2 = "S0007TMinus4HTest2.htm";

TMinus3HGo = "S0007TMinus3HGo.htm";
TMinus3HTest1 = "S0007TMinus3HTest1.htm";
TMinus3HTest3 = "S0007TMinus3HTest3.htm";

TMinus2HGo = "S0007Tminus2HGo.htm";
TMinus2HTest1 = "S0007TMinus2HTest1.htm";
TMinus2HTest2 = "S0007TMinus2HTest2.htm";

TMinus1HGo = "S0007TMinus1HGo.htm";
TMinus1HTest1 = "S0007TMinus1HTest1.htm";
TMinus1HTest2 = "S0007TMinus1HTest2.htm";

TMinus20MGo = "S0007TMinus20MGo.htm";
TMinus20MTest1 = "S0007TMinus20MTest1.htm";
TMinus20MTest2 = "S0007TMinus20MTest2.htm";

TMinus9MGo = "S0007TMinus9MGo.htm";
TMinus9MTest1 = "S0007TMinus9MTest1.htm";
TMinus9MTest2 = "S0007TMinus9MTest2.htm";

TMinus5MGo = "S0007TMinus5MGo.htm";
TMinus5MTest1 = "S0007TMinus5MTest1.htm";
TMinus5MTest3 = "S0007TMinus5MTest3.htm";

TMinus1MGo = "S0007TMinus1MGo.htm";
TMinus1MTest1 = "S0007TMinus1MTest1.htm";
TMinus1MTest2 = "S0007TMinus1MTest2.htm";

TMinus00SGo = "S0007TMinus00SGo.htm";

// Function setCookie: Set a cookie name and value. Note that the expiration is left blank - the cookie
// will cease to exist at the end of the current session.
function setCookie(name, value) {
   document.cookie = name + "=" + escape(value) + "; expires = ";
}

// function getCookie: find a specific cookie by name, return its value to the calling function.
// If the cookie name does not exist, return null.
function getCookie(name) {
var cookieName = name + "=";
var cookieBegin = 0;
   while (cookieBegin < document.cookie.length) {
      var vBegin = cookieBegin + cookieName.length;
	  if (document.cookie.substring(cookieBegin, vBegin) == cookieName) {
	     var vEnd = document.cookie.indexOf(";", vBegin);
		 if (vEnd == -1) 
		    vEnd = document.cookie.length;
		 return unescape(document.cookie.substring(vBegin, vEnd));
	  }
	  cookieBegin = document.cookie.indexOf(" ", cookieBegin) + 1;
	  if (cookieBegin == 0) 
	     break;
	}
	return null;
}

// Function createTestCookies: create and initialize all the cookies needed to perform the S0007 simulation. 
function createTestCookies() {
   setCookie("sixHT1", 0);
   setCookie("sixHT2", 0);
   setCookie("fiveHT1", 0);
   setCookie("fiveHT2", 0);
   setCookie("fourHT1", 0);
   setCookie("fourHT2", 0);
   setCookie("threeHT1", 0);
   setCookie("threeHT3", 0);
   setCookie("twoHT1", 0);
   setCookie("twoHT2", 0);
   setCookie("oneHT1", 0);
   setCookie("oneHT2", 0);
   setCookie("twentyMT1", 0);
   setCookie("twentyMT2", 0);
   setCookie("nineMT1", 0);
   setCookie("nineMT2", 0);
   setCookie("fiveMT1", 0);
   setCookie("fiveMT3", 0);
   setCookie("oneMT1", 0);
   setCookie("oneMT2", 0);
}

// Function getWindowLocation: Locate a cookie by name and evaluate its numeric value. If the cookie's value is 0, 
// set it to one and return windowName1. Otherwise, return windowName2.
function getWindowLocation(cookieName, windowName1, windowName2) {
var cookieResult = getCookie(cookieName);
   if (cookieResult == 0) {
      setCookie(cookieName, 1);
	  return windowName1;
   }
   else
      return windowName2;
}

// Function selectOption: Determine which tests to execute.
//
// Test 0 (n = 0): T-6 Hour milestone group. No problems detected; continue with count.
// Test 1 (n = 1): T-6 Hour milestone group. STS-53, 12-02-92. Ice formation on the ET delayed launch 1 hour 25 minutes.
// Test 2 (n = 2): T-6 Hour milestone group. STS-110, 04-04-02. Broken weld on MLP LH2 line caused scrub.
// Test 3 (n = 3): T-5 Hour milestone group. No problems detected; continue with count.
// Test 4 (n = 4): T-5 Hour milestone group. STS-44, 11-24-91. MLP LOX replenishment system valve caused delay.
// Test 5 (n = 5): T-5 Hour milestone group. STS-43, 08-02-91. SSME #3 MEC fault caused scrub.
// Test 6 (n = 6): T-4 Hour milestone group. No problems detected; continue with count.
// Test 7 (n = 7): T-4 Hour milestone group. STS-109, 03-01-02. Cold weather at T-0 caused a 2 day delay.
// Test 8 (n = 8): T-4 Hour milestone group. STS-112, 10-07-02. Hurricane Lili forced a delay.
// Test 9 (n = 9): T-3 Hour milestone group. No problems detected; continue with count.
// Test 10 (n = 10): T-3 Hour milestone group. STS-48, 09-12-91. Faulty KSC/JSC comm link forced a 14 minute delay.
// Test 11 (n = 11): T-3 Hour milestone group. STS-92, 10-11-00. FOD caused scrub.
// Test 12 (n = 12): T-2 Hour milestone group. No problems detected; continue with count.
// Test 13 (n = 13): T-2 Hour milestone group. STS-51C, 01-24-95. Elevon actuator force fight.
// Test 14 (n = 14): T-2 Hour milestone group. STS-101, 05-19-00. TAL site weather scrub. 
// Test 15 (n = 15): T-1 Hour milestone group. No problems detected; continue with count.
// Test 16 (n = 16): T-1 Hour milestone group. STS-73, 10-07-95. Master Events Controller problem scrub.
// Test 17 (n = 17): T-1 Hour milestone group. STS-40, 06-01-91. IMU calibration failure scrub.
// Test 18 (n = 18): T-20 Minute milestone group. No problems detected; continue with count.
// Test 19 (n = 19): T-20 Minute milestone group. STS-26, 09-28-88. Pressure suit fuse delay.
// Test 20 (n = 20): T-20 Minute milestone group. STS-41D, 06-25-84. Failure of backup GPC.
// Test 21 (n = 21): T-9 Minute milestone group. No problems detected; continue with count.
// Test 22 (n = 22): T-9 Minute milestone group. STS-110, 04-08-02. LPS communication with JSC delay.
// Test 23 (n = 23): T-9 Minute milestone group. STS-31, 04-24-90. Faulty APU scrub.
// Test 24 (n = 24): T-5 Minute milestone group. No problems detected; continue with count.
// Test 25 (n = 25): T-5 Minute milestone group. STS-51, 09-12-93. Prematurely charged hold down bolts scrub.
// Test 26 (n = 26): T-5 Minute milestone group. STS-88, 12-03-98. Master alarm HYD SYS #1 low pressure scrub.
// Test 27 (n = 27): T-1 Minute milestone group. No problems detected; continue with count.
// Test 28 (n = 28): T-1 Minute milestone group. STS-61C, 01-06-86. 4000 lb LOX drain from ET scrub.
// Test 29 (n = 29): T-1 Minute milestone group. STS-41D, 06-26-84. GPC anomaly in SSME #3 abort.
function selectOption(seed, offset)
{
var n = Math.round(seed * Math.random()) + offset;
var returnString;
var cookieResult;

   switch (n) 
   {
      // T - 6 Hour test set. OFFSET = 0.
      case 0:
            window.location = TMinus5HGo;
	  break;
	  
      case 1:
         window.location = getWindowLocation("sixHT1", TMinus6HTest1, TMinus5HGo);
	  break;

      case 2:
         window.location = getWindowLocation("sixHT2", TMinus6HTest2, TMinus5HGo);
	  break;
	  
	  // T - 5 Hour test set. OFFSET = 3.
	  case 3:
	     window.location = TMinus4HGo;
	  break;
	  
	  case 4:
         window.location = getWindowLocation("fiveHT1", TMinus5HTest1, TMinus4HGo);
	  break;
	  
	  case 5:
         window.location = getWindowLocation("fiveHT2", TMinus5HTest2, TMinus4HGo);
	  break;
	  
	  // T - 4 Hour test set. Offset = 6.
	  case 6:
	     window.location = TMinus3HGo;
	  break;
	  
	  case 7:
         window.location = getWindowLocation("fourHT1", TMinus4HTest1, TMinus3HGo);
	  break;
	  
	  case 8:
         window.location = getWindowLocation('fourHT2', TMinus4HTest2, TMinus3HGo);
	  break;
	  
	  // T - 3 Hour test set. Offset = 9.
	  case 9:
	     window.location = TMinus2HGo;
	  break;
	  
	  case 10:
         window.location = getWindowLocation('threeHT1', TMinus3HTest1, TMinus2HGo);
	  break;
	  	  
	  case 11:
         window.location = getWindowLocation('threeHT3', TMinus3HTest3, TMinus2HGo);
	  break;
	  
	  // T - 2 Hour test set. Offset = 12.
	  case 12:
	     window.location = TMinus1HGo;
	  break;
	  
	  case 13:
         window.location = getWindowLocation('twoHT1', TMinus2HTest1, TMinus1HGo);
	  break;
	  
	  case 14:
         window.location = getWindowLocation('twoHT2', TMinus2HTest2, TMinus1HGo);
	  break;
	  
	  // T - 1 Hour test set. Offset = 15.
	  case 15:
	     window.location = TMinus20MGo;
	  break;
	  
	  case 16:
         window.location = getWindowLocation('oneHT1', TMinus1HTest1, TMinus20MGo);
	  break;
	  
	  case 17:
         window.location = getWindowLocation('oneHT2', TMinus1HTest2, TMinus20MGo);
	  break;
	  
	  // T - 20 Minute test set. Offset = 18;
	  case 18: 
	     window.location = TMinus9MGo;
	  break;
	  
	  case 19:
         window.location = getWindowLocation('twentyMT1', TMinus20MTest1, TMinus9MGo);
	  break;
	  
	  case 20: 
         window.location = getWindowLocation('twentyMT2', TMinus20MTest2, TMinus9MGo);
	  break;
	  		
	// T - 9 Minute test set. Offset = 21;
	  case 21: 
	     window.location = "S0007TMinus5MGo.htm";
	  break;
	  
	  case 22:
         window.location = getWindowLocation('nineMT1', "S0007TMinus9MTest1.htm", "S0007TMinus5MGo.htm");
	  break;
	  
	  case 23:
         window.location = getWindowLocation('nineMT2', "S0007TMinus9MTest2.htm", "S0007TMinus5MGo.htm");
	  break;
	  
	 // T - 5 Minute test set. Offset = 24;
	  case 24: 
	     window.location = TMinus1MGo;
	  break;
	  
	  case 25:
         window.location = getWindowLocation('fiveMT1', TMinus5MTest1, TMinus1MGo);
	  break;
	  
	  case 26:
         window.location = getWindowLocation('fiveMT3', TMinus5MTest3, TMinus1MGo);
	  break;
	  
	  // T - 1 Minute test set. Offset = 27.
	  case 27:
	     window.location = TMinus00SGo;
	  break;
	  
	  case 28:
         window.location = getWindowLocation('oneMT1', TMinus1MTest1, TMinus00SGo);
	  break;
	  
	  case 29: 
         window.location = getWindowLocation('oneMT2', TMinus1MTest2, TMinus00SGo);
	  break; 
	  
	  default:
		 returnString="http://enterfiringroom.ksc.nasa.gov/S0007Simulation/S0007TMinus6HGo.htm";
	}
}

// Function changeButton: Change the graphic image of the CONTINUE button affected by function selectOption.
function changeButton(imageIndex, buttonName)
{
   document.images[imageIndex].src = buttonName;
   return;
}