// Global Definitions ---------------------------------------------------------------------------------------------------------
	
	//var http_request = false;

// Function Definitions -------------------------------------------------------------------------------------------------------

	/** This function makes an AJax Request.                                                                                **/
    function makeAJaxRequest (url, type, callback_object, data) 
		{	type				= type == undefined ? "get" : type;
	        var http_request	= false;

			// Mozilla, Safari,...
	        if ( window.XMLHttpRequest ) 
				{ 	http_request = new XMLHttpRequest();
					if ( http_request.overrideMimeType ) 
						{	http_request.overrideMimeType('text/xml');
			            }; // if ( http_request.overrideMimeType ) 
				} // if ( window.XMLHttpRequest ) 

			// Internet Explorer...
			else if ( window.ActiveXObject ) 
				{	try 
						{	http_request = new ActiveXObject("Msxml2.XMLHTTP");
			            }  // try

					catch (e) 
						{	try 
								{	http_request = new ActiveXObject("Microsoft.XMLHTTP");
				                } // try

							catch (e) 
								{
								}; // catch (e)
					  }; // catch (e)
		        }; // else if ( window.ActiveXObject ) 

			// Couldn't create an AJax object; therefore, return false.
			if ( !http_request ) 
				{	return false;
				}; // if ( !http_request ) 

			// Set the callback.
			//http_request.callback = callback_object;

			// Set the ready state handler.
			http_request.onreadystatechange = 
				function () 
					{	// The AJax call has either succeeded or failed.
						if ( http_request.readyState == 4 )
							{	// The AJax call succeeded.
								if ( http_request.status == 200 && callback_object && callback_object.onAJaxSuccess )
									{	callback_object.onAJaxSuccess(http_request, callback_object, data);
									} // if ( http_request.status == 200 && callback_object && callback_object.onAJaxSuccess )

								// The Ajax call failed.
								else if ( callback_object && callback_object.onAJaxFailure )
									{	callback_object.onAJaxFailure(http_request, callback_object, data);
									}; // else if ( callback_object && callback_object.onAJaxFailure )
							} // if ( http_request.readyState == 4 )

						// Update the object.
						else if ( callback_object && callback_object.onAJaxUpdate )
							{	callback_object.onAJaxUpdate(http_request, callback_object, data);
							}; // else if ( callback_object && callback_object.onAJaxUpdate )
					}; // function () 			

			// Open the request.
			http_request.open(type, url, true);

			// Send the proper header information along with the request.
			if ( type == "post" )
				{	http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
					http_request.setRequestHeader("Content-length", data.length);
					http_request.setRequestHeader("Connection", "close");
				}; // if ( type == "post" )

			// Send any parameters.
			http_request.send(type == "get" ? null : data);
		}; // function makeAJaxRequest (url, type, callback_object, data) 




