var rpIsInstalled = false;  
var version = 0;
function rpInstalledDetect(){
	if (window.ActiveXObject) {  
		var rpControlNames = [  
		'rmocx.RealPlayer G2 Control',  
		'rmocx.RealPlayer G2 Control.1',  
		'RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)',  
		'RealVideo.RealVideo(tm) ActiveX Control (32-bit)',  
		'RealPlayer'  
		];  

		var iectl = null;  
		for (var i = 0; i < rpControlNames.length; i++) {  
			try {  
				iectl = new ActiveXObject(rpControlNames[i]);  
			} catch (e) {  
				continue;  
			}  
			if (iectl) {  
				break;  
			}  
		}  
		if (iectl) {  
			rpIsInstalled = true;  
			version = iectl.GetVersionInfo();  
			version = parseFloat(version);  
		}  
	}
	return rpIsInstalled;
}








function isObject(type){
	return ( "undefined" != typeof(type) );
}

function unpackVersionNumber(n)
{
	return "" + (n >> 28) + "." +
		((n & 0xFF00000) >> 20) + "." + 
		((n & 0xFF000) >> 12) + "." + 
		( n & 0xFFF);
}


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

function hasRealPlayer(){
	if( isWinIE5plus() ){
		return rpInstalledDetect();
	}else{
		return ((pluginDetect() || mimeTypeDetect() )?true:"unknown");
	}
}




