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;
}