<!-- AJAX scripts -->

    var req   = null;
    var divId = null;
    var READY_STATE_UNINITIALIZED = 0;
    var READY_STATE_LOADING       = 1;
    var READY_STATE_LOADED        = 2;
    var READY_STATE_INTERACTIVE   = 3;
    var READY_STATE_COMPLETE      = 4;

    function AJAXsendRequest( data_generator_url, container_name, HttpMethod, pause ) {
        divId = container_name;
        req = getXMLHTTPRequest();
//alert("AJAXsendRequest\ndata_generator_url="+data_generator_url
//      +"\nstate="+req.readyState+"\ndivId="+divId+"\nreq="+req);
        if( req ) {
			if( pause )
				req.onreadystatechange=onReadyStateChange_pausemsg;
			else
				req.onreadystatechange=onReadyStateChange;
			req.open(HttpMethod,data_generator_url,true);
			req.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
			req.send("");
//alert("AJAXsendRequest\ndata_generator_url="+data_generator_url+"\nstate="+req.readyState);
        }
    }

	function onReadyStateChange() {
		var ready  = req.readyState;
		var divObj = getObj(divId)
		var data   = null;
//alert("onReadyStateChange\nready="+ready+"\ndata="+req.responseText);
		if( ready == READY_STATE_COMPLETE ) {
			if( req.status == 200 ) {
				divObj.innerHTML = req.responseText;
//alert("onReadyStateChange\nresponseText="+req.responseText);
			} else {
				alert( "onReadyStateChange()\n"
                       + "There was a problem retrieving the data:\n"
					   + req.status + " = " + req.statusText );
			}
		}
	}

	function onReadyStateChange_pausemsg() {
		var ready  = req.readyState;
		var divObj = getObj(divId)
		var data   = null;
//alert("onReadyStateChange_pausemsg\nready="+ready+"\ndata="+req.responseText);
		if( ready >= READY_STATE_UNINITIALIZED && ready <= READY_STATE_INTERACTIVE ) {
			data = "<br><span style='font-family: \"Courier New\",courier; font-size: 14px; padding-top: 1em'>Please wait...</span>";
		} else if( ready == READY_STATE_COMPLETE ) {
			if( req.status == 200 ) {
				data = req.responseText;
			} else {
				alert( "onReadyStateChange_pausemsg()\n"
                       + "There was a problem retrieving the data:\n"
					   + req.status + " = " + req.statusText );
			}
		}
		divObj.innerHTML = data;
	}

    function getXMLHTTPRequest() {
        var xRequest = null;
        if( window.XMLHttpRequest ) {
            xRequest = new XMLHttpRequest();
        } else if( typeof ActiveXObject != "undefined" ) {
            xRequest = new ActiveXObject("Microsoft.XMLHTTP");
        }
        return xRequest;
    }

    function getObj(Id) {
        if( document.all ) {
            var Obj = document.all[Id];
        } else if( document.getElementById ) {
            var Obj = document.getElementById(Id);
        } else if( document.layers ) {
            var Obj = document.layers[Id];
        }
        return Obj;
    }

//-- AJAX scripts -->

