function checkIfClassExist(className, mimeType, retVal) {
	res = false;
	if (isWin && isIE && className != ''){
		document.write('<'+'SCR'+'IPT LANGUAGE="VBScript">\n on error resume next \n res = IsObject(CreateObject("' + className + '")) \n <'+'/SCR'+ 'IPT>\n');
		if (res){
			return retVal;
		}
	}
	if ((!isWin || isNet) && mimeType != ''){
		if (aMimes.indexOf(mimeType) != -1){
			if (navigator.mimeTypes[mimeType].enabledPlugin != null){
				return retVal;
			}				
		}
		return 0;					
	}
	return 0;
}

var aMimes = '';
for (var i=0; i < navigator.mimeTypes.length; i++){ 
	aMimes += navigator.mimeTypes[i].type.toLowerCase();
}

var ua=navigator.userAgent.toLowerCase();
var isNet 	= (navigator.appName.indexOf("Netscape") != -1);
var isIE  	= (ua.indexOf("msie") != -1);
var isIE7  	= (ua.indexOf("msie 7.0") != -1);
var isIE8  	= (ua.indexOf("msie 8") != -1);
var isWin 	= ((ua.indexOf("win")!=-1) || (ua.indexOf("32bit")!=-1));
			
var wsJava = 0;
if (navigator.javaEnabled()){ wsJava=1 };
	
if (isIE7 || isIE8){
	ieSpecific = checkIfClassExist('','video/quicktime',16)+
	checkIfClassExist('','application/x-mplayer2',32);
}else{
	ieSpecific = checkIfClassExist('QuickTimeCheckObject.QuickTimeCheck.1','video/quicktime',16)+
	checkIfClassExist('MediaPlayer.MediaPlayer.1','application/x-mplayer2',32);
}

applSupport = 
	checkIfClassExist('ShockwaveFlash.ShockwaveFlash.1','application/x-shockwave-flash',4)+
	checkIfClassExist('rmocx.RealPlayer G2 Control.1','audio/x-pn-realaudio-plugin',8)+
	ieSpecific+
	checkIfClassExist('PDF.PdfCtrl.1','', 2)+
	checkIfClassExist('PDF.PdfCtrl.5','', 2)+
	checkIfClassExist('PDF.PdfCtrl.6','', 2)+
	checkIfClassExist('AcroPDF.PDF.1','', 2)+
	checkIfClassExist('','application/pdf',2)+
	wsJava;