	//url encode function
	function fnURLEncode(strInput)
	{
		// The Javascript escape and unescape functions do not correspond
		// with what browsers actually do...
		var SAFECHARS = "0123456789" +					// Numeric
						"ABCDEFGHIJKLMNOPQRSTUVWXYZ" +	// Alphabetic
						"abcdefghijklmnopqrstuvwxyz" +
						"-_.!~*'()";					// RFC2396 Mark characters
		var HEX = "0123456789ABCDEF";
	
		var plaintext = strInput;
		var encoded = "";
		for (var i = 0; i < plaintext.length; i++ ) {
			var ch = plaintext.charAt(i);
			if (ch == " ") {
				encoded += "+";				// x-www-urlencoded, rather than %20
			} else if (SAFECHARS.indexOf(ch) != -1) {
				encoded += ch;
			} else {
				var charCode = ch.charCodeAt(0);
				if (charCode > 255) {
					alert( "Unicode Character '" 
							+ ch 
							+ "' cannot be encoded using standard URL encoding.\n" +
							  "(URL encoding only supports 8-bit characters.)\n" +
							  "A space (+) will be substituted." );
					encoded += "+";
				} else {
					encoded += "%";
					encoded += HEX.charAt((charCode >> 4) & 0xF);
					encoded += HEX.charAt(charCode & 0xF);
				}
			}
		}
		return encoded;
	};
	
	var userSystemCheckerURL = "/events/tracking/usersystemschecker_image.asp";
	var userSystemCheckerImage = new Image();
	// check ip
	
	// check useragent
	// note that the user agent string contains all the information possible
	// that other tests use to determine the browser and the OS
	
	// check flash
	


	//main tracking function
	function userSystemsChecker(bitspersecond) {
		var userSystemCheckerString = "";
		userSystemCheckerString += "eventid=" + fnURLEncode( checkEventID );
		userSystemCheckerString += "&";
		userSystemCheckerString += "bitspersecond=" + fnURLEncode( String( Math.round( bitspersecond ) ) );
		userSystemCheckerString += "&"
		userSystemCheckerString += "screenwidth=" + fnURLEncode( String( screen.width ) );
		userSystemCheckerString += "&"
		userSystemCheckerString += "screenheight=" + fnURLEncode( String( screen.height ) );
		userSystemCheckerString += "&"
		userSystemCheckerString += "colourbitdepth=" + fnURLEncode( String( screen.colorDepth ) );
		userSystemCheckerString += "&"
		userSystemCheckerString += "rm=" + fnURLEncode( String( basicDetectionRM() ) );
		userSystemCheckerString += "&"
		userSystemCheckerString += "wm=" + fnURLEncode( String( basicDetectionWM() ) );
		userSystemCheckerString += "&"
		userSystemCheckerString += "flash=" + fnURLEncode( String( basicDetectionF() ) );


		//alert(lngSlide);		
		var strRandomNumber = '';
	
		for (var n = 0; n < 10; n++) {
			strRandomNumber = strRandomNumber + Math.floor(Math.random()*10) + '';
		}

		var strCaptureURL = userSystemCheckerURL + "?" + userSystemCheckerString + "&random=" + strRandomNumber;
		//alert( strCaptureURL );
		userSystemCheckerImage.src = strCaptureURL;
	}