/* The track() script must be called at the end of the HTML page. */
function track() {
	var i = 0;
	var n = 0;
	var acrobat = "";
	var flash = "";
	var director = "";
	var quicktime = "";
	var real = "";
	var java = "";
	var fonts = "";
	var browser = "Screen:" + screen.width + "x" + screen.height + "x" + screen.colorDepth;
	if (navigator.plugins && navigator.plugins.length) {
		n = navigator.plugins.length;
		browser += ";Plugins:" + n;
		for (i = 0; i < n; i++) {
			if (navigator.plugins[i].name.indexOf("Adobe Acrobat") >= 0) {
				acrobat = ";Acrobat" + navigator.plugins[i].description.split(" ")[4];
			} else if (navigator.plugins[i].name.indexOf("Shockwave Flash") >= 0) {
				var field = navigator.plugins[i].description.split(" ");
				flash = ";Flash" + field[2] + field[4];
			} else if (navigator.plugins[i].name.indexOf("QuickTime Plug-in") >= 0) {
				var field = navigator.plugins[i].name.split(" ");
				quicktime = ";QuickTime" + field[2];
			} else if (navigator.plugins[i].description.indexOf("Java Plug-in") >= 0) {
				var field = navigator.plugins[i].description.split(" ");
				java = ";Java" + field[2];
			}
		}
	} else if (window.ActiveXObject) {
		for (i = 7; i >= 1; i--) {
			try {
				var pdf;
				if (i >= 7) {
					pdf = eval("new ActiveXObject('AcroPDF.PDF."+(i-6)+"');");
				} else {
					pdf = eval("new ActiveXObject('PDF.PdfCtrl."+i+"');");
				}
				if (pdf) {
					acrobat = ";Acrobat" + i;
					break;
				}
			} catch (e) {}
		}
		for (i = 10; i >= 1; i--) {
			try {
				var swf = eval("new ActiveXObject('ShockwaveFlash.ShockwaveFlash."+i+"');");
				if (swf) {
					flash = ";Flash" + i;
					break;
				}
			} catch (e) {}
		}
		for (i = 11; i >= 1; i--) {
			try {
				var dir = eval("new ActiveXObject('SWCtl.SWCtl."+i+"');");
				if (dir) {
					director = ";Director" + i;
					break;
				}
			} catch (e) {}
		}
		try {
			var qt = eval("new ActiveXObject('QuickTimeCheckObject.QuickTimeCheck.1');");
			if (qt) {
				quicktime = ";QuickTime";
			}
		} catch (e) {}
		try {
			var rp = eval("new ActiveXObject('RealPlayer.RealPlayer(tm) ActiveX Control (32-bit)');");
			if (!rp) rp = eval("new ActiveXObject('RealVideo.RealVideo(tm) ActiveX Control (32-bit)');");
			if (!rp) rp = eval("new ActiveXObject('rmocx.RealPlayer G2 Control');");
			if (rp) { real = ";Real"; }
		} catch (e) {}
		if (navigator.javaEnabled()) java = ";Java";
		/*
		Font detection needs the following object within the HTML page:
		<object id="dlgocx" classid="clsid:3050f819-98b5-11cf-bb82-00aa00bdce0b" width="0px" height="0px"></object>
		*/
		var dlghelper = document.getElementById("dlgocx");
		if (dlghelper) {
			if (typeof(dlghelper.fonts) != "undefined") {
				fonts = ";Fonts" + dlghelper.fonts.count;
			}
		}
	}
	browser += acrobat;
	browser += flash;
	browser += director;
	browser += quicktime;
	browser += real;
	browser += java;
	browser += fonts;
	/* An image with ID 'visitors' is needed within the HTML page. The random number ensures permanent reload of this image. */
	number = Math.round(Math.random()*10000);
	var visitors = window.document.getElementById("visitors");
	if (visitors) {
		visitors.src = "index.php?p=statistics:counter&x=" + browser + "&y=" + number;
	}
	/* window.setTimeout("track()", 300000); */
}

