var version = 0; function isObject(type){ return ( "undefined" != typeof(type) ); } function winIE5upPlyrDetect(){ var player; var iectl; try{ // attempt to instantiate the IE control to see if activeX is enabled. iectl = new ActiveXObject("Shell.Explorer"); }catch(e){ } try{ player = new ActiveXObject("rmocx.RealPlayer G2 Control.1"); version = (player.GetVersionInfo()); }catch(e){ } if(!isObject(iectl)){ return "unknown"; //ActiveX disabled } return new String(isObject(player)); } function checkPlugin(name){ plugin = navigator.plugins[name]; if(isObject(plugin)){ version = plugin.description; return true; } return false; } function pluginDetect(){ return ( (checkPlugin("RealPlayer Version Plugin")) || (checkPlugin("RealOne Player Version Plugin")) ); } function mimeTypeDetect(){ return ( isObject(navigator.mimeTypes) && isObject(navigator.mimeTypes["audio/x-pn-realaudio-plugin"]) ); } function isWinIE5plus(){ var result = false; var uaLower = navigator.userAgent.toLowerCase(); if(uaLower.indexOf("windows") >=0 && uaLower.indexOf("msie")>=0){ var versRX = /msie\s+[5-9]/; result = versRX.test(uaLower); } return result; } /* * Returns a string, "true", "false", "unknown" based on the results * of player detection. * "false" will only be returned if the user has IE5+, activeX is * enabled, and we can not instantiate the player control. * That is the only case where we are sure the user does not have * the player installed. All other cases where the player can not * be detected will return "unknown". */ function hasRealPlayer(){ if( isWinIE5plus() ){ return winIE5upPlyrDetect(); }else{ return ((pluginDetect() || mimeTypeDetect() )?"true":"unknown"); } } switch( hasRealPlayer()+"" ){ case "true": /* Successful player detection */ /* document.write("Real Player successfully detected."); if( version != 0 ){ document.write("
version: " + version); } else{ document.write("
unable to detect version"); } */ break; case "unknown": /* Unable to determine if the user has a player * If using for media ensure resulting page offers link to the media. */ window.open("http://guide.real.com"); break; case "false": /* Player is definitely not installed */ //alert("Unable to find 'Real Player' please download it for free"); //window.open("http://www.real.com/player/"); window.open("http://guide.real.com"); break; }