    //verify plugins, browser version
    //requires NN3+, IE4+, Real Player G2, Flash 4
	//IE3 is excluded because it doesn't support SMIL
	
	//noncommercial permission to use granted, just shoot me an email (eric@squishymedia.com) and let me know how you use it.	
	
	var RealMode=0;
	var RealPlayerG2=0;
	var RealPlayerG2Update=0;
	var	browserOK = 0;
	var FlashMode=0;
	var Flash4 = 0;
	var Flash5 = 0;
	var browserName;
	
	//acceptable browser detection
	if((navigator.appName == "Netscape") && (navigator.appVersion >= "3")) {browserOK = 1; browserName="NN"}
	if((navigator.appName == "Opera") && (navigator.appVersion >= "3")) {browserOK = 1; browserName="OP"}
    if((navigator.appName == "Microsoft Internet Explorer") && (navigator.appVersion >= "3")) {browserOK = 1; browserName="IE"}

	
	//section one: Real Player
	
	//Navigator plugin detection
	if (navigator.userAgent.indexOf("MSIE")<0 )			{
		numPlugins = navigator.plugins.length;
			for (i = 0; i < numPlugins; i++)				{
		  		plugin = navigator.plugins[i];
  				if (plugin.name.substring(0,10)=="RealPlayer")	{  RealMode=1;	}
				//new mod for G2+ players
				if (plugin.name.indexOf('G2') != -1) { RealPlayerG2=1; }
				//for 7.x, 8.x on Linux, added 9.12.00
				else if ((plugin.name.indexOf('7.') != -1) || (plugin.name.indexOf('8.0') != -1)) { RealPlayerG2=1; }
															}
														}

	//IE plugin detection...not supported on Mac
	if((navigator.userAgent.indexOf("MSIE")>= 0) &&	(navigator.userAgent.indexOf("Mac")< 0)){
   	document.write('<SCRIPT LANGUAGE=VBScript\> \n');
	document.write('on error resume next \n');
	document.write('RealPlayerG2 = (NOT IsNull(CreateObject("rmocx.RealPlayer G2 Control")))\n');
	document.write('RealMode = (NOT IsNull(CreateObject("rmocx.RealPlayer G2 Control")))\n');
	document.write('RealPlayerG2Update = (NOT IsNull(CreateObject("RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)")))\n');
	document.write('RealMode = (NOT IsNull(CreateObject("RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)")))\n');
	document.write('\<\/SCRIPT\>');
												}

//runs on call from page function
function G2Verify() {
	if (RealMode && eval(RealPlayerG2 || RealPlayerG2Update))
				{
		if(browserOK)  {return true;}
		else 	{ alert(alertmsg); return false; }
				}
	
	else if(MacIE() && browserOK)	{
		i= confirm("This presentation requires the RealPlayer* G2, available from www.real.com.\nIf you have this plugin, click \'OK\' to view this presentation.");
			if(i) {return true;} 
			else {return false;}
						}

	else 	{ alert(alertmsg); return false; }
					}


	//section Two: Flash 4

	//Navigator plugin detection
	if (navigator.userAgent.indexOf("MSIE")<0 ){
		var plugin = (navigator.mimeTypes && navigator.mimeTypes["application/x-shockwave-flash"]) ? navigator.mimeTypes["application/x-shockwave-flash"].enabledPlugin : 0;
		if ( plugin && parseInt(plugin.description.substring(plugin.description.indexOf(".")-1)) >= 4 ){
			FlashMode = 1;
		} 
	}
	
	//IE plugin detection 
	if((navigator.userAgent.indexOf("MSIE")>= 0) &&	(navigator.userAgent.indexOf("Mac")< 0)){
   	document.write('<SCRIPT LANGUAGE=VBScript\> \n');
	document.write('on error resume next \n');
	document.write('Flash4 = (NOT IsNull(CreateObject("ShockwaveFlash.ShockwaveFlash.4")))\n');
	document.write('Flash5 = (NOT IsNull(CreateObject("ShockwaveFlash.ShockwaveFlash.5")))\n');
	document.write('\<\/SCRIPT\>');
	}
	

	//IE plugin confirmation for Mac
function MacIE()	{
		if((navigator.userAgent.indexOf("MSIE")>= 0) &&	(navigator.userAgent.indexOf("Mac")>= 0)){return true;}
		else{return false;}
						}

//runs on call from page function
function FlashVerify() {
	if (FlashMode || Flash4 || Flash5)
				{
		if(browserOK)  {return true;}
		else 	{ alert(alertmsg); return false; } // debug
		//else 	{ alert(FlashMode + ' ' + Flash4  + ' ' +  Flash5 + ' ' + browserOK); return false; }
				}
	
	else if(MacIE() && browserOK)	{
		i= confirm("This presentation requires Macromedia* Flash 4, available from www.macromedia.com.\nIf you have this plugin, click \'OK\' to view this presentation.");
			if(i) {return true;} 
			else {return false;}
						}

	//else 	{ alert(alertmsg); return false; }
	//else 	{ alert(FlashMode + ' ' + Flash4  + ' ' +  Flash5 + ' ' + browserOK); return false; }
					}

	//constructs appropriate alert message.  
	var alertmsg = 'This presentation requires RealPlayer* G2 and Macromedia* Flash* 4 with\n';
	alertmsg += 'Netscape Navigator* 3.01 or higher or Internet Explorer* 4 or higher.\n';
	alertmsg += 'Please download and install these components to view these media presentations.\n';
	alertmsg += '\n';
	//return error information
	alertmsg += 'Did not detect:\n';
	if (!RealPlayerG2 || !RealPlayerG2Update) { alertmsg += 'RealPlayer G2 for Internet Explorer\n'; }
	if (browserName=="NN" && RealMode==0) { alertmsg += 'RealPlayer G2 for Netscape Navigator\n'; }
	if (!browserOK) { alertmsg += 'Browser capable of displaying this content.  Please upgrade!\n'; }
	if (browserName=="NN" && FlashMode==0) { alertmsg += 'Flash 4 for Netscape Navigator\n'; }
	if (browserName=="IE" && (Flash4==0 || Flash5==0)) { alertmsg += 'Flash 4 for Internet Explorer\n'; }
	
	 


							
