var req;
var DataDiv;

//
// HttpObject constructor
// Url - the URL to request
// LayerName - the name of the div to load
//
function HttpObject( Url, LayerName )
{
	this.url = Url;
	this.div_object = null;
	this.requester = null;
	
	if ( window.XMLHttpRequest )
	{
		this.div_object = document.getElementById( LayerName );
		this.requester = new XMLHttpRequest();
	}
	else if ( window.ActiveXObject )
	{
		this.div_object = eval( "document.all." + LayerName );
		this.requester = new ActiveXObject("Microsoft.XMLHTTP");
	}
	
	req = this.requester;
	DataDiv = this.div_object;	
	
} // HttpObject
 
HttpObject.prototype.ProcessRequest = HttpObject_ProcessRequest;

//
// HttpObject_ProcessRequest
//
function HttpObject_ProcessRequest()
{

	//alert( "HttpObject_ProcessRequest = " + test );

    if ( req != null )
    {    

		// alert( "HttpObject_ProcessRequest = " + req.readyState );

		 // only if req shows "loaded"
		 //
		 if ( req.readyState == 4 )
		 {
			  // only if "OK"
			  //
			  if ( req.status == 200 )
			  {
					// ...processing statements go here...
					//
					HttpObject_HandleResponse( req.responseText );
					
					req = null;
			  }
			  else
			  {
					DataDiv.innerHTML = "Unable to retrieve data: " + req.statusText;
			  }
		 }
    } // have obj
    
} // HttpObject_ProcessRequest


HttpObject.prototype.Get = HttpObject_Get;

///
// HttpObject_Get
// Performs a GET request
//
function HttpObject_Get()
{
	//alert( "HttpObject_Get" );
	
	if ( this.requester != null )
	{

		this.requester.onreadystatechange = this.ProcessRequest; 
		this.requester.open( "GET", this.url, true );

		if ( window.XMLHttpRequest )
		{
			this.requester.setRequestHeader( "Connection", "close" ); //STUPID 400 FF ERROR FIX
		} // close

		this.requester.send( "" );

	} // have obj

} // HttpObject_Get

HttpObject.prototype.HandleResponse = HttpObject_HandleResponse;

//
// HttpObject_HandleResponse
// Handles the response
//
function HttpObject_HandleResponse( strResponse )
{
	//alert( "HttpObject_HandleResponse" );

   if ( DataDiv != null )
   {
		DataDiv.innerHTML = strResponse;
	}
   
   //this.requester = null;

} // handleResponse