var http_request			= null;
var callback_function	= null;

/* ********************************************************************************************************** */

function ajax_upload (php_receiver_url, filename, filecontent, callback_func) 
{
	var result				= false;

	http_request 			= null;
	http_request 			= new XMLHttpRequest();
	callback_function		= callback_func;
	
	if (http_request) 
	{
		var boundaryString 	= 'jolegat';
		var boundary 			= '--' + boundaryString;
		
		var requestbody 		
				= boundary 																				+ '\n' 
				+ 'Content-Disposition: form-data; name="path"' 							+ '\n' 
																											+ '\n' 
				+ filename																				+ '\n' 
				+ boundary 																				+ '\n' 
				+ 'Content-Disposition: form-data; name="data"; filename="' + filename + '"' 			+ '\n' 
				+ 'Content-Type: text/plain' 													+ '\n' 
																											+ '\n' 
				+ filecontent																			+ '\n' 
				+ boundary;
			
	
		//....................................................................................do the AJAX request
		http_request.onreadystatechange = requestdone;
		http_request.open('POST', php_receiver_url, true);
		http_request.setRequestHeader ("Content-type", "multipart/form-data; \
			boundary=\"" + boundaryString + "\"");
		http_request.setRequestHeader ("Connection", "close");
		http_request.setRequestHeader ("Content-length", requestbody.length);
		
		http_request.send (requestbody);

		result = true;
	}

	return result;
}

/* ********************************************************************************************************** */

function requestdone() 
{
	var result = "";

	if (http_request.readyState == 4) 
	{
		if (http_request.status == 200) 
		{
			result = http_request.responseText;
			if (callback_function) callback_function (result);
		} 
		else 
		{
			result = "Could not establish connection.";
			if (callback_function) callback_function (result);
		}
	}
}

