/*POST - START*/

var http_request = false;

function makePOSTRequest(url, parameters, continue_execution, result_function) {

	http_request = false;
	
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
	
		http_request = new XMLHttpRequest();
		
		if (http_request.overrideMimeType) {
			// set type accordingly to anticipated content type
			//http_request.overrideMimeType('text/xml');
			http_request.overrideMimeType('text/html');
		}
		
	}
	else if (window.ActiveXObject) { // IE
	
		try {
		
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
			
		}
		catch (e) {
			try {
			
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
				
			}
			catch (e) {}
		}
		
	}
	if (!http_request) {
	
		alert('Cannot create XMLHTTP instance');
		return false;
		
	}
	
	http_request.onreadystatechange = function (){ alertContents( result_function ); };
	//Setting the third parameter to false, pauses the execution until the result has been returned, true will not
	http_request.open('POST', url, continue_execution);
	http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http_request.setRequestHeader("Content-length", parameters.length);
	http_request.setRequestHeader("Connection", "close");
	http_request.send(parameters);
}

function alertContents( result_function ) {

	if (http_request.readyState == 4) {
	
		if (http_request.status == 200) {
		
			//alert(http_request.responseText);
			result = http_request.responseText;
			
			//Once successfully executed, do this
			eval( result_function );
			//document.getElementById('myspan').innerHTML = result;     
			       
		}
		else {
		
			alert('There was a problem with the request.');
			
		}
		
	}
	
}

function post( post_file, post_string, continue_execution, result_function ) {

	makePOSTRequest( post_file, post_string, continue_execution, result_function);
	
}


/*POST - END*/