var messages = new Array();
messages[0] = "Checking Operating System... .";
messages[1] = "Checking Web Browser...";
messages[2] = "Checking for Windows Media Player...";
messages[3] = "Checking for Macromedia Flash Player...";
messages[4] = "Checking connection speed... Please wait...";
messages[5] = "System test successful! One moment please...";

function beginSpeedTest(){
  speedFrame.location.href = "speed_test.html";
}

function checkFlash(){
  var flashAvailable = 0;
  var flashVersion = 0;
  if(navigator.plugins&&navigator.plugins.length){
    x = navigator.plugins["Shockwave Flash"];
    if(x){
      flashAvailable = 1;
      if(x.description){
        y = x.description;
        flashVersion = y.charAt(y.indexOf('.')-1);
        if(flashVersion==0){
          flashVersion = y.substr(y.indexOf('.')-2,2);
        }
      }
    }
    if(navigator.plugins["Shockwave Flash 2.0"]){
      flashInstalled = 1;
      flashVersion = 2;
    }
  }
  else if(navigator.mimeTypes&&navigator.mimeTypes.length){
    x = navigator.mimeTypes['application/x-shockwave-flash'];
    if(x&&x.enabledPlugin){
      flashInstalled = 1;
      flashVersion = 99;
    }
  }
	if(account=="academy_of_competitive_intelligence"){
		flashInstalled = 1;
		flashVersion = 10;
	}
	//flashInstalled = 1;
	//flashVersion = 10;
	//alert(flashVersion);
  return flashVersion;
}

function doError(errID,speed){
  thisURL += "&errorID=" + errID;
  if(errID==7){
    thisURL += "&speed=" + speed;
  }
  window.location = thisURL;
}

function endSpeedTest(res){
  if(res<minSpeed){
    if((account!="media_door")&&(account!="academy_of_competitive_intelligence")){
      doError(7,res);
    }
  }
  else{
    msgID=5;
    updateMessage();
    getClientVars();
    // everything is successful! redirect
    // figure speed zone
    for(x=0;x<speedZones.length;x++){
      sz = speedZones[x];
      if(res>=sz){
        speedZone = sz;
      }
    }
    successURL = successURL.replace("<wmpVersion>", wmpVersion);
    successURL = successURL.replace("<availableScreenHeight>", availableScreenHeight);
    successURL = successURL.replace("<availableScreenWidth>", availableScreenWidth);
    successURL = successURL.replace("<screenHeight>", screenHeight);
    successURL = successURL.replace("<screenWidth>", screenWidth);
    successURL = successURL.replace("<screenColorDepth>", screenColorDepth);
    successURL = successURL.replace("<flashVersion>", flashVersion);
    successURL = successURL.replace("<speedTest>", res);
    successURL = successURL.replace("<speedZone>", speedZone);
successURL = successURL.replace("<route>", route);
    setTimeout("window.location.href=\""+successURL+"\";", 2000);
  }
}

function getClientVars(){
  if(screen){
    availableScreenHeight = screen.availHeight;
    availableScreenWidth = screen.availWidth;
    screenHeight = screen.height;
    screenWidth = screen.width;
    screenColorDepth = screen.colorDepth;
  }
}

function startCheck(){
  wmpVersion = 0;
  msgID = 0;
  setTimeout("document.getElementById('divInfo2').style.visibility='visible'", 1000);
  setTimeout("document.getElementById('divProgressBar').style.visibility='visible'", 1000);
  setTimeout("updateMessage()", 1000);
  setTimeout("msgID=1", 1100);
  setTimeout("updateMessage()", 2000);
  if(route==1){
    // using ms windows and wmp
    wmpVersion = document.myForm.wmpVersion.value;
    wmpVersionMajor = wmpVersion.substr(0,2);
    wmpVersionMajor = wmpVersionMajor.replace('.', '');
    setTimeout("msgID=2", 2100);
    setTimeout("updateMessage()", 3000);
    if(!wmpVersion){
      //setTimeout("errID=1", 3100);
      //setTimeout("doError(5,0)", 4000);
      wmpVersion = 11;
    }
    flashVersion = document.myForm.flashVersion.value;
    setTimeout("msgID=3", 3100);
    setTimeout("updateMessage()", 4000);
    if(!flashVersion){
      /* Fix 31-03-2009 to bypass check */
      //setTimeout("errID=1", 4100);
      //setTimeout("doError(5,0)", 5000);
      flashVersion = 10;
    }
    if(flashVersion&&wmpVersion){
      if((codecsAvailable[1]&&!codecsAvailable[2]&&!codecsAvailable[3])){
        // only uses wmp 9
        minWmpVersion = 9;
      }
      else{
        minWmpVersion = 6;
      }
      //alert(wmpVersion);
      //alert(wmpVersionMajor);
      //alert(minWmpVersion);
      if(wmpVersionMajor>=minWmpVersion){
        setTimeout("beginSpeedTest()", 5000);
        setTimeout("msgID=4", 4100);
        setTimeout("updateMessage()", 5000);
      }
      else{
				
				if ( (account!="academy_of_competitive_intelligence") && (account!="joliet_township_high_school") ) {
				
					if(minWmpVersion == 9){
						// has wmp but needs wmp 9
						setTimeout("errID=1", 4100);
						setTimeout("doError(10,0)", 5000);
					}
					else{
						// has flash but needs 6+
						setTimeout("errID=1", 4100);
						setTimeout("doError(6,0)", 5000);
					}
				
				}
				else{
					setTimeout("beginSpeedTest()", 5000);
					setTimeout("msgID=4", 4100);
					setTimeout("updateMessage()", 5000);
				}
				
      }
    }
  }
  else{
    flashVersion = checkFlash();
    setTimeout("msgID=3;updateMessage();", 3000);
    if(!flashVersion){
      setTimeout("errID=1;doError(5,0);", 4000);
    }
    else{
      if((codecsAvailable[5]&&!codecsAvailable[4])){
        minFlashVersion = 8;
      }
      else{
        minFlashVersion = 6;
      }
      if(flashVersion>=minFlashVersion){
        setTimeout("beginSpeedTest();", 4000);
        setTimeout("msgID=4;updateMessage();", 4000);
      }
      else{
				
				if(account!="academy_of_competitive_intelligence"){
				
					if(minFlashVersion == 8){
						// has flash but needs flash 8
						setTimeout("errID=1;doError(8,0);", 4000);
					}
					else{
						// has flash but needs 6+
						setTimeout("errID=1;doError(9,0);", 4000);
					}
				
				}
				else{
					setTimeout("beginSpeedTest();", 4000);
					setTimeout("msgID=4;updateMessage();", 4000);
				}
				
      }
    }
  }
}

function updateMessage(){
  msg = messages[msgID];
  document.getElementById('divInfo2').innerHTML = msg;
}
