	
	function xmlhttpPost(strURL, strSubmit, strResultFunc) {
		
		var xmlHttpReq = false;
		
		// IE
		if (window.ActiveXObject) {
			xmlHttpReq = new ActiveXObject("Microsoft.XMLHTTP");
		}
		// Mozilla/Safari
		else if (window.XMLHttpRequest) {
			xmlHttpReq = new XMLHttpRequest();
			xmlHttpReq.overrideMimeType('text/html');
		}
		
		xmlHttpReq.open('POST', strURL, true);
		xmlHttpReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	
		xmlHttpReq.onreadystatechange = function() {				
			if (xmlHttpReq.readyState == 4) {
				strResponse = xmlHttpReq.responseText;
			
				switch (xmlHttpReq.status) {
					case 404:
						alert('Error: Not Found. The requested URL ' + 
						   strURL + ' could not be found.');
						break;
			
					case 500:
						handleErrFullPage(strResponse);
						break;
			
					default:
						// Call JS alert for custom error or debug messages
						if (strResponse.indexOf('Error:') > -1 || 
						   strResponse.indexOf('Debug:') > -1) {
						   alert(strResponse);
						}
						// Call the desired result function
						else {
						   eval(strResultFunc + '(strResponse);');
						}
						break;
				}
			}
		}
		xmlHttpReq.send(strSubmit);
	}
	
	function handleErrFullPage(strIn) {
		
		var errorWin;
		
		// Create new window and display error
		try {
			errorWin = window.open('', 'errorWin');
			errorWin.document.body.innerHTML = strIn;
		}
		// If pop-up gets blocked, inform user
		catch(e) {
			alert('An error occurred, but the error message cannot be' +
					' displayed because of your browser\'s pop-up blocker.\n' +
					'Please allow pop-ups from this Web site.');
		}
	}	