﻿	function detectFlash() {  
		// If navigator.plugins exists...
		if (navigator.plugins) {
			// ...then check for flash 2 or flash 3+.
			if (navigator.plugins["Shockwave Flash 2.0"]
			|| navigator.plugins["Shockwave Flash"]) {
				// Some version of Flash was found. Time to figure out which.
      
				// Set convenient references to flash 2 and the plugin description.
				var isVersion2 = navigator.plugins["Shockwave Flash 2.0"] ? " 2.0" : "";
				var flashDescription = navigator.plugins["Shockwave Flash" + isVersion2].description;

				// DEBUGGING: uncomment next line to see the actual description.
				//alert("Flash plugin description: " + flashDescription);
				
      
				// A flash plugin-description looks like this: Shockwave Flash 4.0 r5
				// We can get the major version by grabbing the character before the period
				// note that we don't bother with minor version detection. 
				// Do that in your movie with $version or getVersion().
				var flashVersion = parseInt(flashDescription.substring(16));

				// We found the version, now set appropriate version flags. Make sure
				// to use >= on the highest version so we don't prevent future version
				// users from entering the site.
				flash2Installed = flashVersion == 2;    
				flash3Installed = flashVersion == 3;
				flash4Installed = flashVersion == 4;
				flash5Installed = flashVersion == 5;
				flash6Installed = flashVersion == 6;
				flash7Installed = flashVersion == 7;
				flash8Installed = flashVersion == 8;
				flash9Installed = flashVersion >= 9;

			}
		}

		// Loop through all versions we're checking, and
		// set actualVersion to highest detected version.
		for (var i = 2; i <= maxVersion; i++) {  
			if (eval("flash" + i + "Installed") == true) actualVersion = i;
		}
  
		// We're finished getting the version on all browsers that support detection.
		// Time to take the appropriate action.

		// If the user has a new enough version...
		if (actualVersion >= requiredVersion) {
			// ...then we'll redirect them to the flash page, unless we've
			// been told not to redirect.
			if (useRedirect) {
				// Need javascript1.1 to do location.replace
				if(jsVersion > 1.0) {
					// It's safe to use replace(). Good...we won't break the back button.
					window.location.replace(flashPage);  
				} else {
					// JavaScript version is too old, so use .location to load
					// the flash page.
					window.location = flashPage;
				}
			}
			// If we got here, we didn't redirect. So we make a note that we should
			// write out the object/embed tags later.
			hasRightVersion = true;                
		} else {  
			// The user doesn't have a new enough version.
			// If the redirection option is on, load the appropriate alternate page.
			if (useRedirect) {
				// Do the same .replace() call only if js1.1+ is available.
				if(jsVersion > 1.0) {
					window.location.replace((actualVersion >= 2) ? upgradePage : noFlashPage);
				} else {
					window.location = (actualVersion >= 2) ? upgradePage : noFlashPage;
				}
			}
		}
	}
	
	//The version that is required to be compatible
	var reqVersion = 5.5;
	
	var agentStr, versionStr;
	var compVersion, browser;

	var hasFlash;
	var requiredVersion = 6;   // Version the user needs to view site (max 9, min 2)
	var useRedirect = false;    // Flag indicating whether or not to load a separate
                           // page based on detection results. Set to true to
                           // load a separate page. Set to false to embed the
                           // movie or alternate html directly into this page.

	// *************
	// Everything below this point is internal until after the BODY tag.
	// Do not modify! Proceed to the BODY tag for further instructions.
	// *************

	// System globals
	var flash2Installed = false;    // boolean. true if flash 2 is installed
	var flash3Installed = false;    // boolean. true if flash 3 is installed
	var flash4Installed = false;    // boolean. true if flash 4 is installed
	var flash5Installed = false;    // boolean. true if flash 5 is installed
	var flash6Installed = false;    // boolean. true if flash 6 is installed
	var flash7Installed = false;    // boolean. true if flash 7 is installed
	var flash8Installed = false;    // boolean. true if flash 8 is installed
	var flash9Installed = false;    // boolean. true if flash 9 is installed
	var maxVersion = 9;             // highest version we can actually detect
	var actualVersion = 0;          // version the user really has
	var hasRightVersion = false;    // boolean. true if it's safe to embed the flash movie in the page
	var jsVersion = 1.0;            // the version of javascript supported

	// -->

	// Check the browser...we're looking for ie/win, but not aol
	var isAOL = (navigator.appVersion.indexOf("AOL") != -1) ? true : false;
	var isIE  = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;    // true if we're on ie
	var isWin = (navigator.appVersion.toLowerCase().indexOf("win") != -1) ? true : false; // true if we're on windows


	// This is a js1.1 code block, so make note that js1.1 is supported.
	jsVersion = 1.1;

	// Write vbscript detection on ie win. IE on Windows doesn't support regular
	// JavaScript plugins array detection.
	if(isIE && isWin && !isAOL){
		document.write('<SCR' + 'IPT LANGUAGE=VBScript\> \n');
		document.write('on error resume next \n');
		document.write('flash2Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.2"))) \n');
		document.write('flash3Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.3"))) \n');
		document.write('flash4Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.4"))) \n');
		document.write('flash5Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.5"))) \n');  
		document.write('flash6Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.6"))) \n');  
		document.write('flash7Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.7"))) \n');
		document.write('flash8Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.8"))) \n');
		document.write('flash9Installed = (IsObject(CreateObject("ShockwaveFlash.ShockwaveFlash.9"))) \n');
		document.write('<\/SCR' + 'IPT\> \n'); // break up end tag so it doesn't end our script
	}
	
	detectFlash();  // call our detector now that it's safely loaded. 

	if (!useRedirect) {    // if dynamic embedding is turned on
		if(hasRightVersion) {  // if we've detected an acceptable version
	   		hasFlash = true;	
		} else {  
		  	hasFlash = false
		}
	}


	var test02 = false;
	var test03 = false;
	var test04 = false;

var browserAgent, browserVersion, browserPlatform;
var browserUserAgent = navigator.userAgent;
var browserUserAgentLowerCase = browserUserAgent.toLowerCase();

browserAgent = "Unknown Browser";
browserVersion = "Unknown Version";
browserPlatform = "Unknown Platform";

if (browserUserAgentLowerCase.indexOf('safari') >= 0) {
  browserAgent = "Apple Safari";
  browserVersion = browserUserAgent.substring(browserUserAgentLowerCase.indexOf('safari') + 7);
} else if (browserUserAgentLowerCase.indexOf('msie') >= 0) {
  browserAgent = "Microsoft Internet Explorer";
  browserVersion = browserUserAgentLowerCase.split("msie");
  browserVersion = browserVersion[1].split(";");
  browserVersion = browserVersion[0];
} else if (browserUserAgentLowerCase.indexOf('firefox') >= 0) {
  browserAgent = "Mozilla Firefox";
  browserVersion = browserUserAgent.substring(browserUserAgentLowerCase.indexOf('firefox') + 8);
} else if (navigator.appName=="Netscape") {
  browserAgent = "Netscape Navigator";
  browserVersion = navigator.appVersion;
}

if (browserUserAgentLowerCase.indexOf('linux') >= 0) browserPlatform = "Linux";
else if (browserUserAgentLowerCase.indexOf('x11') >= 0) browserPlatform = "Unix";
else if (browserUserAgentLowerCase.indexOf('macintosh') >= 0) {
  browserPlatform = "Macintosh";
  browserPlatformArray = browserUserAgent.substring(browserUserAgent.indexOf('(') + 1, browserUserAgent.indexOf(')') - 1 ).split(';');
  for (i = 0; i <= browserPlatformArray.length; i++) {
	if (undefined != browserPlatformArray[i]) {
      if (browserPlatformArray[i].toLowerCase().indexOf('mac') >= 0) {
        browserPlatform = browserPlatformArray[i];
      }
	}
  }
} else if (browserUserAgentLowerCase.indexOf('windows') >= 0) {
  browserPlatform = "Windows";
  browserPlatformArray = browserUserAgent.substring(browserUserAgent.indexOf('(') + 1, browserUserAgent.indexOf(')') - 1 ).split(';');
  for (i = 0; i <= browserPlatformArray.length; i++) {
	if (undefined != browserPlatformArray[i]) {
      if (browserPlatformArray[i].toLowerCase().indexOf('windows') >= 0) {
	      browserPlatform = browserPlatformArray[i];
      }
	}
  }
}

	function checkBrowser() {
		if (browserAgent == "Microsoft Internet Explorer") {
			if (browserPlatform.toLowerCase().indexOf('windows') >= 0) {
				if (parseFloat(browserVersion) >= 5.5) {
 				document["imgBrowser"].src="../images/pass.gif";
				}
			} else if (browserPlatform.toLowerCase().indexOf('mac') >= 0) {
			if (parseFloat(browserVersion) == 5.2) {
		  			document["imgBrowser"].src="../images/pass.gif";
				 }
			   }
		} else if (browserAgent == "Netscape Navigator") {
	   if (browserPlatform.toLowerCase().indexOf('windows') >= 0) {
		     if (parseFloat(browserVersion) == 7.1) {
 			   document["imgBrowser"].src="../images/pass.gif";
				 }
	   } else if (browserPlatform.toLowerCase().indexOf('mac') >= 0) {
		     if (parseFloat(browserVersion) == 7.1) {
			  	document["imgBrowser"].src="../images/pass.gif";
				}
			}
		} else if (browserAgent == "Apple Safari") {
			if (browserPlatform.toLowerCase().indexOf('mac') >= 0) {
				if (parseFloat(browserVersion) == 1.1) {
			  	document["imgBrowser"].src="../images/pass.gif";
			      }
				}
			}else if(browserAgent=="Mozilla Firefox"){
				if (parseFloat(browserVersion) >= 1.0) {
				document["imgBrowser"].src="../images/pass.gif";
				}
			}
		}

	function returnBrowserAgent() {
		return browserAgent;
		}

	function returnBrowserVersion() {
		return browserVersion;
		}

	function returnBrowserPlatform() {
		return browserPlatform;
		}

	function returnFlashDescription(){
		return navigator.plugins["Shockwave Flash" + isVersion2].description;;
		}
		
	function checkPopup() {
		window.open("./BrowserRequirementsPopup.html","popup","toolbar=no, width=250, height=250");
	}
		
	function checkResolution() {
		if (screen.width<1024) {
			if (screen.width == 800) test03 = true;
			document.writeln('<td id="screenType" ><br><font size= 2><b>' + screen.width + " X " + screen.height + '</b></font><br></td>');
			document.writeln('<td id="imgResolution" align =center><img src="../images/fail.gif" width="100" height="22" id="imgResolution"></td>');
  			//document["imgResolution"].src="../images/fail.gif";
		} else {
			test03 = true;	
			document.writeln('<td id="screenType" ><br><font size= 2><b>' + screen.width + " X " + screen.height + '</b></font><br></td>');
			document.writeln('<td id="imgResolution" align =center><img src="../images/pass.gif" width="100" height="22" id="imgResolution"></td>');
  			//document["imgResolution"].src="../images/pass.gif";
		}
	}

function checkCookies() {
   navigator.cookiesAreEnabled = checkCookiesAreEnabled();
   if (navigator.cookiesAreEnabled) {
     document["imgCookies"].src="../images/pass.gif";
   } 
}

function checkCookiesAreEnabled() {
  SetCookie( "scooby", "doo" );
  if ( GetCookie( "scooby" ) ) {
    DeleteCookie( "scooby" );
    return true;
  } else {
    return false;
  }
}

function GetCookie( name ) {
  var arg = name + "=";
  var alen = arg.length;
  var clen = document.cookie.length;
  var i = 0;
  while ( i < clen ) {
    var j = i + alen;
    if ( document.cookie.substring(i, j) == arg ) return getCookieVal(j);
    i = document.cookie.indexOf( " ", i ) + 1;
    if ( i == 0 ) break;
  }
  return null;
}

function DeleteCookie( name, path, domain ) {
  if ( GetCookie( name ) ) {
    document.cookie = name + "=" +
    ( ( path ) ? "; path=" + path : "" ) +
    ( ( domain ) ? "; domain=" + domain : "" ) +
    "; expires=Thu, 01-Jan-70 00:00:01 GMT";
  }
}

function SetCookie( name, value, expires, path, domain, secure ) {
  document.cookie = name + "=" + escape (value) +
  ( ( expires ) ? "; expires=" + expires.toGMTString() : "" ) +
  ( ( path ) ? "; path=" + path : "" ) +
  ( ( domain ) ? "; domain=" + domain : "" ) +
  ( ( secure ) ? "; secure" : "" );
}

function getCookieVal( offset ) {
  var endstr = document.cookie.indexOf ( ";", offset );
  if ( endstr == -1 ) endstr = document.cookie.length;
  return unescape( document.cookie.substring( offset, endstr ) );
}

	function runChecks() {
		checkBrowser();
		document["imgJavaScript"].src="../images/pass.gif";
		checkPopup();
		checkCookies();
		if(hasFlash) {
			document["imgFlash"].src="../images/pass.gif";
		} else { 
			document["imgFlash"].parentNode.innerHTML += "<br/><a href = 'http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash'>Download Flash</a>";
		}
	}