var HttpRequest					= function( )
{
	var self					= this ;
	
	self.base					= BaseClass ;
	self.base( ) ;
	
	var baseInitalise			= self.initalise ;
	self.name					= "Menu" ;

	self.http					= null ;
	self.url					= "" ;
	
	self.processXml				= null ;
	self.processText			= null ;

	self.getHttpObject			= function( )
	{
		var xmlhttp ;
		try 
		{
			xmlhttp				= new XMLHttpRequest( ) ;
		}
		catch ( ex1 ) 
		{
			try 
			{
				xmlhttp			= new ActiveXObject( "Microsoft.XMLHTTP" ) ;
			}
			catch ( ex2 ) 
			{
				xmlhttp			= false ;
			}
		}
		return					xmlhttp ;
	} ;

	self.prepareRequest			= function( )
	{
		self.http				= self.getHttpObject( ) ;
		self.http.onreadystatechange	= self.handleHttpResponse ;
		return					true ;
	} ;

	self.makeRequest			= function( )
	{
		self.http.open( "GET" , self.url , true ) ;
		self.http.send( null ) ;
		
		return					true ;
	} ;

	self.handleHttpResponse		= function ( )
	{
		if ( self.http.readyState == 4 ) 
		{
			var textResponse	= self.http.responseText ;
			var xmlResponse		= self.http.responseXML ;
			switch ( self.http.status ) 
			{
				case 404: // Page-not-found error
					self.handleError( 'Error: Not Found. The requested function could not be found.' ) ;
					break ;
				case 500: // Display results in a full window for server-side errors
					self.handleError( textResponse ) ;
					break ;
				default:
					if ( typeof self.processXml == "function" )
					{
						return	self.processXml( xmlResponse ) ;
					}
					if ( typeof self.processText == "function" )
					{
						return	self.processText( textResponse ) ;
					}
					break ;
			}
		}
		return					false ;
	} ;

	self.handleError			= function ( textResponse ) 
	{
		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( ex )
		{
			//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.');
			//alert( testResponse ) ;
		}
		alert( textResponse ) ;
	} ;

	self.initalise				= function( )
	{
		// Must set the response of this into a variable or the method will itself return true and not continue.
		if ( baseInitalise( ) == false )
		{
			return				false ;
		}

		return					true ;
	} ;

	// Object create OK	
	return						true ;
} ;
