// used for passing GETs that return a page
function getNewFile(url, updateid) {
	makeRequest(url, updateid);
	return false;
}

// used for passing POSTs that send data. Current coding requires POST for sending data.
function postNewFile(url, updateid, post) {
	makeRequest(url, updateid, post);
	return false;
}

function makeRequest(url, updateid, post) {
	if (window.XMLHttpRequest) {
		xhr = new XMLHttpRequest();
	}
	else {
		if (window.ActiveXObject) {
			try {
				xhr = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e) { }
		}
	}

	if (xhr && post) { // executes is post query is sent as 3rd argument above
        xhr.open( 'POST', url, true );
		xhr.onreadystatechange = function(){showContents(updateid)};
        xhr.setRequestHeader( 'Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8' );
        xhr.setRequestHeader( 'Content-Length', post.length );
        xhr.send( post );
	} else if(xhr){ // if no 3rd argumentis passed, this get is executed
		xhr.onreadystatechange = function(){showContents(updateid)};
		xhr.open("GET", url, true);
		xhr.send(null);
    } else {
		document.getElementById(updateid).innerHTML = "";
	}
}

function showContents(updateid) {
	if (xhr.readyState == 4) {
		if (xhr.status == 200) { 
			var outMsg = (xhr.responseXML && xhr.responseXML.contentType=="text/xml") ? xhr.responseXML.getElementsByTagName("choices")[0].textContent : xhr.responseText;
		} else {
			var outMsg = "There was a problem with the request " + xhr.status;
		}
	document.getElementById(updateid).innerHTML = outMsg;
	return false;
	}
}			
