// JavaScript Document<!--var requiredVersion = 5;   // Version the user needs to view site (max 6, 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.// 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 maxVersion = 6;             // 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var isIE = (navigator.appVersion.indexOf("MSIE") != -1) ? true : false;    // true if we're on ievar isWin = (navigator.appVersion.indexOf("Windows") != -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){  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('</SCR' + 'IPT\> \n'); // break up end tag so it doesn't end our script}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.charAt(flashDescription.indexOf(".") - 1));           // 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;    }  }    // 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;  }    // If we're on webtv, the version supported is 2 (pre-summer2000,   // or 3, post-summer2000). Note that we don't bother sniffing varieties  // of webtv. You could if you were sadistic...  if(navigator.userAgent.indexOf("WebTV") != -1) actualVersion = 3;      // DEBUGGING: uncomment next line to display flash version  // alert("version detected: " + actualVersion);  // 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;      }    }  }}detectFlash();  function MM_swapImgRestore() { //v3.0  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;}function MM_preloadImages() { //v3.0  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}}function MM_findObj(n, d) { //v4.01  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);  if(!x && d.getElementById) x=d.getElementById(n); return x;}function MM_swapImage() { //v3.0  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}}// Random image display for main page var ic = 4;       var imdr = new Array;        imdr[0] = "../images/at_bristol.jpg";imdr[1] = "../images/franklin_institute.jpg";imdr[2] = "../images/heureka.jpg";imdr[3] = "../images/science_north1.jpg";function pickRandom(range) {if (Math.random)return Math.round(Math.random() * (range-1));else {var now = new Date();return (now.getTime() / 1000) % range;}}var choice = pickRandom(ic);//-->