function getHTTPRequest(type) {
    var httpRequest;
    if(!type) type='text/xml';

    if (window.XMLHttpRequest) {
        httpRequest = new XMLHttpRequest();
        if (httpRequest.overrideMimeType) {
            httpRequest.overrideMimeType(type);
        }
    } else if (window.ActiveXObject) {
        try {
            httpRequest = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
        }
    }

    if (!httpRequest) {
        return false;
    } else {
    	return httpRequest;
    }
}

function processXMLRequest(httpRequest) {
  if (httpRequest.readyState == 4 && httpRequest.status == 200 ) {
	//The user should process the request here
	//or define this function elsewhere
  }
}

var delayedXMLRequestTimer = null;
function makeDelayedXMLRequest(url, delay, args) {
  if ( delayedXMLRequestTimer != null )
    window.clearTimeout( delayedXMLRequestTimer );
  	delayedXMLRequestTimer = window.setTimeout( function watchRequest() {
		//makeXMLRequest(url, args);
		delayedXMLRequestTimer = null;
	}, delay );
}
