function detectFlash() {  
  if (navigator.plugins) {
    if (navigator.plugins["Shockwave Flash 2.0"] || navigator.plugins["Shockwave Flash"]){
      var isVersion2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
      var flashDescription = navigator.plugins["Shockwave Flash" + isVersion2].description;
      var flashVersion = parseInt(flashDescription.substring(16));
      flash2Installed = flashVersion == 2;    
      flash3Installed = flashVersion == 3;
      flash4Installed = flashVersion == 4;
      flash5Installed = flashVersion == 5;
      flash6Installed = flashVersion == 6;
      flash7Installed = flashVersion == 7;
      flash8Installed = flashVersion == 8;
      flash9Installed = flashVersion >= 9;
    }
  }
  for (var i = 2; i <= maxVersion; i++) {  
    if (eval("flash" + i + "Installed") == true) actualVersion = i;
  }
  if(navigator.userAgent.indexOf("WebTV") != -1) actualVersion = 4;
  if (((actualVersion >= requiredVersion) && (requiredVersion != 6)) || (actualVersion > requiredVersion) || ((actualVersion == 6 && requiredVersion == 6) && (flashDescription.substr(20, 3) == "r65"))) {
    if (useRedirect) {
      if(jsVersion > 1.0){
      	if(actualVersion >= bleedingEdgeVersion){
      		window.location.replace(bleedingEdgeVerPage);
      	}
      	else{
        	window.location.replace(flashPage);
        }
      }
      else{
      	if(actualVersion >= bleedingEdgeVersion){
        	window.location = bleedingEdgeVerPage;
        }
        else{
        	window.location = flashPage;
        }
      }
    }
    hasRightVersion = true;                
  }
  else{  
    if (useRedirect) {
      if(jsVersion > 1.0) {
        window.location.replace((actualVersion >= 2) ? upgradePage : noFlashPage);
      }
      else{
        window.location = (actualVersion >= 2) ? upgradePage : noFlashPage;
      }
    }
  }
}
detectFlash();