
javascriptVersion1_1 = true;


var appVer   = navigator.appVersion.toLowerCase();
var agt      = navigator.userAgent.toLowerCase();
var bName    = navigator.appName;
var iePos    = agt.indexOf('msie');
var operaPos = agt.indexOf('opera');
var ns6Pos   = agt.indexOf('netscape6');
var geckoPos = agt.indexOf('gecko');
var rvPos    = agt.indexOf('rv:')

var version = parseFloat(appVer);
if (iePos!=-1 && operaPos==-1)
 version = parseFloat(agt.substring(iePos+5,agt.indexOf  (';',iePos)));
else if (operaPos!=-1) {
 version = parseFloat(agt.substring(operaPos+5,agt.indexOf('[',operaPos)));
 bName= "Opera";
}
else if (ns6Pos !=-1)
 version = parseFloat(agt.substring(ns6Pos+10));
else if (geckoPos !=-1 && rvPos !=-1) {
  version = agt.substring(rvPos+3,agt.indexOf(')',rvPos));
  bName= "Mozilla";
}

//document.write('UserAgent:: '+navigator.userAgent)
//document.write('<br>Browser: '+bName+', Version: '+version)

<!--

// initialize global variables
var detectableWithVB = false;
var pluginFound = false;


function goURL(daURL) {
    // if the browser can do it, use replace to preserve back button
    if(javascriptVersion1_1) {
	window.location.replace(daURL);
    } else {
	window.location = daURL;
    }
    return;
}

function redirectCheck(pluginFound, redirectURL, redirectIfFound) {
    // check for redirection
    if( redirectURL && ((pluginFound && redirectIfFound) ||
	(!pluginFound && !redirectIfFound)) ) {
	// go away
	goURL(redirectURL);
	return pluginFound;
    } else {
	// stay here and return result of plugin detection
	return pluginFound;
    }
}

function canDetectPlugins() {
    if( detectableWithVB || (navigator.plugins && navigator.plugins.length > 0) ) {
	return true;
    } else {
	return false;
    }
}

function detectFlash(redirectURL, redirectIfFound) {
    pluginFound = detectPlugin('Shockwave','Flash');
    // if not found, try to detect with VisualBasic
    if(!pluginFound && detectableWithVB) {
	pluginFound = detectActiveXControl('ShockwaveFlash.ShockwaveFlash.1');
    }
    // check for redirection
    return redirectCheck(pluginFound, redirectURL, redirectIfFound);
}

function detectDirector(redirectURL, redirectIfFound) {
    pluginFound = detectPlugin('Shockwave','Director');
    // if not found, try to detect with VisualBasic
    if(!pluginFound && detectableWithVB) {
	pluginFound = detectActiveXControl('SWCtl.SWCtl.1');
    }
    // check for redirection
    return redirectCheck(pluginFound, redirectURL, redirectIfFound);
}

function detectQuickTime(redirectURL, redirectIfFound) {
	var quicktimeVersion = getQuicktimeVersion();
	//document.write("Quicktime version: "+quicktimeVersion+"<br>");
    pluginFound = detectPlugin('QuickTime');
    // if not found, try to detect with VisualBasic
    if(!pluginFound && detectableWithVB) {
	pluginFound = detectQuickTimeActiveXControl();
    }
    return redirectCheck(pluginFound, redirectURL, redirectIfFound);
}

function detectReal(redirectURL, redirectIfFound) {
	testObject = new ActiveXObject("rmocx.RealPlayer G2 Control.1")
	//document.write("Real Player version: "+testObject.GetVersionInfo()+"<br>");
    pluginFound = detectPlugin('RealPlayer');
    // if not found, try to detect with VisualBasic
    if(!pluginFound && detectableWithVB) {
	pluginFound = (detectActiveXControl('rmocx.RealPlayer G2 Control') ||
		       detectActiveXControl('RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)') ||
		       detectActiveXControl('RealVideo.RealVideo(tm) ActiveX Control (32-bit)'));
    }
    return redirectCheck(pluginFound, redirectURL, redirectIfFound);
}

function detectWindowsMedia(redirectURL, redirectIfFound) {
    pluginFound = detectPlugin('Windows Media');
    // if not found, try to detect with VisualBasic
    if(!pluginFound && detectableWithVB) {
	pluginFound = detectActiveXControl('MediaPlayer.MediaPlayer.1');
    }
    return redirectCheck(pluginFound, redirectURL, redirectIfFound);
}

function detectPlugin() {
    // allow for multiple checks in a single pass
    var daPlugins = detectPlugin.arguments;
    // consider pluginFound to be false until proven true
    var pluginFound = false;
    // if plugins array is there and not fake
    if (navigator.plugins && navigator.plugins.length > 0) {
	var pluginsArrayLength = navigator.plugins.length;
	// for each plugin...
	for (pluginsArrayCounter=0; pluginsArrayCounter < pluginsArrayLength; pluginsArrayCounter++ ) {
	    // loop through all desired names and check each against the current plugin name
	    var numFound = 0;
	    for(namesCounter=0; namesCounter < daPlugins.length; namesCounter++) {
		// if desired plugin name is found in either plugin name or description
		if( (navigator.plugins[pluginsArrayCounter].name.indexOf(daPlugins[namesCounter]) >= 0) ||
		    (navigator.plugins[pluginsArrayCounter].description.indexOf(daPlugins[namesCounter]) >= 0) ) {
		    // this name was found
		    numFound++;
		}
	    }
	    // now that we have checked all the required names against this one plugin,
	    // if the number we found matches the total number provided then we were successful
	    if(numFound == daPlugins.length) {
		pluginFound = true;
		// if we've found the plugin, we can stop looking through at the rest of the plugins
		break;
	    }
	}
    }
    return pluginFound;
} // detectPlugin


// Here we write out the VBScript block for MSIE Windows
if ((navigator.userAgent.indexOf('MSIE') != -1) && (navigator.userAgent.indexOf('Win') != -1)) {
    document.writeln('<script language="VBscript">');

    document.writeln('\'do a one-time test for a version of VBScript that can handle this code');
    document.writeln('detectableWithVB = False');
    document.writeln('If ScriptEngineMajorVersion >= 2 then');
    document.writeln('  detectableWithVB = True');
    document.writeln('End If');

    document.writeln('\'this next function will detect most plugins');
    document.writeln('Function detectActiveXControl(activeXControlName)');
    document.writeln('  on error resume next');
    document.writeln('  detectActiveXControl = False');
    document.writeln('  If detectableWithVB Then');
    document.writeln('     detectActiveXControl = IsObject(CreateObject(activeXControlName))');
    document.writeln('  End If');
    document.writeln('End Function');

    document.writeln('\'and the following function handles QuickTime');
    document.writeln('Function detectQuickTimeActiveXControl()');
    document.writeln('  on error resume next');
    document.writeln('  detectQuickTimeActiveXControl = False');
    document.writeln('  If detectableWithVB Then');
    document.writeln('    detectQuickTimeActiveXControl = False');
    document.writeln('    hasQuickTimeChecker = false');
    document.writeln('    Set hasQuickTimeChecker = CreateObject("QuickTimeCheckObject.QuickTimeCheck.1")');
    document.writeln('    If IsObject(hasQuickTimeChecker) Then');
    document.writeln('      If hasQuickTimeChecker.IsQuickTimeAvailable(0) Then ');
    document.writeln('        detectQuickTimeActiveXControl = True');
    document.writeln('      End If');
    document.writeln('    End If');
    document.writeln('  End If');
    document.writeln('End Function');

    document.writeln('</scr' + 'ipt>');
}

var quicktimeVersion = 0;
function getQuicktimeVersion() {
	var agent = navigator.userAgent.toLowerCase();

	// NS3+, Opera3+, IE5+ Mac (support plugin array):  check for Quicktime plugin in plugin array
	if (navigator.plugins != null && navigator.plugins.length > 0) {
      for (i=0; i < navigator.plugins.length; i++ ) {
         var plugin =navigator.plugins[i];
         if (plugin.name.indexOf("QuickTime") > -1) {
            quicktimeVersion = parseFloat(plugin.name.substring(18));
         }
      }
	}

	// IE4+ Win32:  attempt to create an ActiveX object using VBScript
	else if (agent.indexOf("msie") != -1 && parseInt(navigator.appVersion) >= 4 && agent.indexOf("win")!=-1 && agent.indexOf("16bit")==-1) {
	  document.write('<scr' + 'ipt language="VBScript"\> \n');
		document.write('on error resume next \n');
		document.write('dim obQuicktime \n');
		document.write('set obQuicktime = CreateObject("QuickTimeCheckObject.QuickTimeCheck.1") \n');
		document.write('if IsObject(obQuicktime) then \n');
		document.write('   if obQuicktime.IsQuickTimeAvailable(0) then \n');
		document.write('      quicktimeVersion = CInt(Hex(obQuicktime.QuickTimeVersion) / 1000000) \n');
		document.write('   end if \n');
		document.write('end if \n');
		document.write('</scr' + 'ipt\> \n');
  }

	// Can't detect in all other cases
	else {
		quicktimeVersion = quicktimeVersion_DONTKNOW;
	}

	return quicktimeVersion;
}
quicktimeVersion_DONTKNOW = -1;


// -->

// *******************************************************************************************
// Use this function to insert a flash movie
// Function call should be within <script> tags and
// looks like: insertFlash("/...../index.swf", "/...../indexpicture.jpg", "This is the title/alt text");
// where indexpicture.jpg is the back up image if they do not support flash
// **********************************************************************************************
function insertFlash(moviename, bkupimage, alt_text){
	if(canDetectPlugins()) {
		if (detectFlash()){
			document.write("<object classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" codebase=\"http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0\" width=\"295\" height=\"295\" title=\""+alt_text+"\">");
            document.write("<param name=\"movie\" value=\""+moviename+"\">");
            document.write("<param name=\"quality\" value=\"high\">");
			document.write("<param name=\"loop\" VALUE=\"false\">");
            document.write("<embed src=\""+moviename+"\" quality=\"high\" pluginspage=\"http://www.macromedia.com/go/getflashplayer\" type=\"application/x-shockwave-flash\" height=\"295\" width=\"295\" loop=\"false\"></embed>");
       		document.write("</object>");
			}
		else {
			 document.write("<img src=\""+bkupimage+"\" alt=\""+alt_text+"\">");
		}
	}
}
//******************************************************************************************************************
// Use this function to insert quicktime or
// windows media movies.
// Function call is within <script> tags and
// looks like: insertMovie("/..../movie_name.mov", "/....../movie_name.wmv", "redirect_page.shtml", "This is the title/alt text");
// Where redirect_page.shtml is what the user is directed to if they don't have quicktime OR windows media player.
// ****************************************************************************************************************
function insertMovie(qt_moviename, win_moviename, nomovie, alt_text){
	if(canDetectPlugins()) {
		if (detectQuickTime()) {
			document.write("<object classid=\"clsid:02BF25D5-8C17-4B23-BC80-D3488ABDDC6B\" codebase=\"http://www.apple.com/qtactivex/qtplugin.cab\" width=\"320\" height=\"255\" align=\"left\" standby=\"Data is loading...\" title=\""+alt_text+"\">");
			document.write("<param name=\"src\" value=\""+qt_moviename+"\">");
			document.write("<param name=\"autoplay\" value=\"true\">");
			document.write("<param name=\"controller\" value=\"true\">");
			document.write("<embed src=\""+qt_moviename+"\" width=\"320\" height=\"255\" align=\"left\" scale=\"1\" autoplay=\"true\" controller=\"true\" type=\"video/quicktime\" pluginspage=\"http://www.apple.com/quicktime/download/\" standby=\"Data is loading...\"></embed>");
			document.write("</object>");
		}
		else if (detectWindowsMedia()){
	    	document.write("<embed src=\""+win_moviename+"\" width=\"320\" height=\"280\"></embed>");
		}
		else {
			goURL(nomovie);
		}
	}
}



//var nothing = "";
//if(canDetectPlugins()) {
    //document.write('<b>Supports Shockwave for Director:</b> ' + detectDirector() + '<br>' +
		   //'<b>Supports Shockwave Flash:</b> ' + detectFlash() + '<br>' +
		   //'<b>Supports QuickTime:</b> ' + detectQuickTime("http://www.yahoo.com","yes") + '<br>' +
		  // '<b>Supports RealPlayer:</b> ' + detectReal("http://www.real.com","yes") + '<br>' +
		  // '<b>Supports Windows Media Player:</b> ' + detectWindowsMedia("http://microsoft.com","yes"));
	//if(detectReal() && !detectQuickTime())
		//detectReal("http://www.ewingmanor.ilstu.edu/video/rv.shtml","yes");
    	//else if(detectQuickTime() && !detectReal())
    		//detectQuickTime("http://www.ewingmanor.ilstu.edu/video/","yes");
    	//else if(detectQuickTime() && detectReal())
    		//detectQuickTime("http://www.ewingmanor.ilstu.edu/video/","yes");
    	//else
		//window.location.replace(nothing);
//}

