/* Tansport class */
function Transport(request_url, receiving_element_id, init_function)
{
	this.request_url = request_url;
	this.receiving_element_id = receiving_element_id;
	this.init_function = init_function;

	var ajax_request = getHTTPObject();
	
	if(ajax_request)
	{	
		ajax_request.open("GET", request_url, true);
		ajax_request.onreadystatechange = CallBack;
		ajax_request.send(null);
	}

	function CallBack(){
		
		if(ajax_request.readyState == 4)
		{
			//"if null provided, don't run it."
			if(receiving_element_id)
			{
				var receiving_element = document.getElementById(receiving_element_id);
				receiving_element.innerHTML = ajax_request.responseText;
			}
			
			//"if null provided, don't run it."
			if(init_function)
			{
				init_function();
			}
		}
	}
	
	//original function to create cross-browser XMLHttpRequest object
	function getHTTPObject()
	{
		if(window.ActiveXObject)
		{
			var waystation = new ActiveXObject("Microsoft.XMLHTTP");
		} 
		else if(window.XMLHttpRequest)
		{
			var waystation = new XMLHttpRequest();
		}
		else
		{
			var waystation = false;
		}
		
		return waystation;
	}

}