var pluginExists = null;

function setMachineInfo(form){
	form.innerHTML += '<input type="hidden" value="" name="midInfo">';
	form.midInfo.value = getInfo();
}

function getInfo(){

	var attributes = new Array(
							"navigator.appCodeName",
							"navigator.appMinorVersion",
							"navigator.appName",
							"navigator.appVersion",
							"navigator.browserLanguage",
							"navigator.cookieEnabled",
							"navigator.cpuClass",
							"navigator.javaEnabled()",
							"navigator.language",
							"navigator.onLine",
							"navigator.platform",
							"navigator.systemLanguage",
							"navigator.userAgent",
							"navigator.userLanguage",
							"navigator.userProfile",
							"window.screen.colorDepth",
							"window.screen.width",
							"window.screen.height",
							"window.screen.availWidth",
							"window.screen.availHeight");

	var info = "";
	for (var i=0; i<attributes.length; i++){
		var value = "";	
	try {
		value = eval(attributes[i]);
	} catch(e) {
		value = e.name + "; " + e.message;
	}
		info += "[" + attributes[i] + "=" + value + "]";
	}

	info += getMimeTypesInfo() + getPluginsInfo();	
	return info;
}

function getMimeTypesInfo(){
	var mimeTypesInfo = "";
	var mimeTypes = navigator.mimeTypes;
	for (var i=0; i<mimeTypes.length; i++){
		if (i > 0) {
			mimeTypesInfo += ";";
		}
		mimeTypesInfo += mimeTypes[i].description;
	}

	return mimeTypesInfo;
}

function getPluginsInfo(){
	var pluginsInfo = "";
	var plugins = navigator.plugins;
	pluginsInfo += "[navigator.plugins=";
	if (plugins.length > 0) {

		for (var i=0; i<plugins.length; i++){
			if (i > 0) {
				pluginsInfo += ";";
			}
			pluginsInfo += plugins[i].name;
		}
	} else {
		pluginsInfo += checkIEPlugins();
	}
	return pluginsInfo + "]";
}

function checkIEPlugins() {
	var allPluginsInfo = "";
	/* adobe, flash, quick time, real player, shockwave, windows media player */
	
	if (window.ActiveXObject) {
		var plugins = new Array ("AcroPDF.PDF", 
									"PDF.PdfCtrl",
									"ShockwaveFlash.ShockwaveFlash",
									"QuickTime.QuickTime",
									"QuickTimeCheckObject.QuickTimeCheck",
									"rmocx.RealPlayer G2 Control",
        							"rmocx.RealPlayer G2 Control.1",
        							"RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)",
        							"RealVideo.RealVideo(tm) ActiveX Control (32-bit)", 
        							"RealPlayer",
        							"SWCtl.SWCtl",
        							"WMPlayer.OCX");
        							
		for (var i=0; i < plugins.length; i++){
			detectControl(plugins[i]);
			if (i > 0) {
				allPluginsInfo += ";";
			}
			allPluginsInfo += plugins[i] + "=" + pluginExists;
		}
		
	}
	return allPluginsInfo;
}
