
	function jAjaxRequest(sRequestURL, oTargetElement, oToggleElement) {
		// Create a new request..
		var oAjaxRequest = jInitAjax();
		
		oAjaxRequest.onreadystatechange = function() {
			if (oAjaxRequest.readyState == 4) {
				// Update the element's html content, update the flag..
				oTargetElement.innerHTML = oAjaxRequest.responseText;
				
				if (oToggleElement) {
					oToggleElement.style.display = "none";
					oTargetElement.style.display = "";
				}
			}
		}
		
		if (oToggleElement) {
			oTargetElement.style.display = "none";
			oToggleElement.style.display = "";
		}
		
		// Send request as POST to avoid caching..
		oAjaxRequest.open("POST", sRequestURL, true);
		oAjaxRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		oAjaxRequest.send("Hash=" + Math.random());
	}
	
	/* Initializes an Ajax object. */
	function jInitAjax() {
		var oAjaxRequest;
		
		try {
			oAjaxRequest = new XMLHttpRequest(); // Opera, Firefox, Safari..
		} catch (e) {
			try {
				oAjaxRequest = new ActiveXObject("Msxml2.XMLHTTP"); // Internet Explorer..
			} catch (e) {
				try {
					oAjaxRequest = new ActiveXObject("Microsoft.XMLHTTP"); // Internet Explorer..
				} catch (e) {
					return false;
				}
			}
		}
		
		return oAjaxRequest;
	}
	