var requestType
var dataToReturn
var url
var poststr
var http_request = false;
var returnResults;
var targetForResults;
var pageParams;
var refreshRqd;
var debugging=false;
var refreshFunction;

function makePOSTRequest(fileToCall, dataToReturn, requestType, targetForResults, pageParams, loadingMsg, Msg, loadingMsgTarget, refreshReference) {

	//first check to see if ASP.NET has not expired

	if(loadingMsg){
		try{	
			document.getElementById(loadingMsgTarget).innerHTML = Msg;
		}catch(e){
			alert('Target message layer not found')
			return false;
		}
	}

	try{
		document.getElementById('progress').style.display='block';
	}catch(e){
		//alert('Progress indicator layer not found')
		//return false;
	}
	parameters = "RequestType=" + requestType + "&XSLTFilename=" + XSLTFilename;

	if(!(pageParams.length = '')){
		parameters += "&" + pageParams
	}
	parameters += "&dataToReturn=" + dataToReturn;

	parameters += "&rqstud=" + Math.random(); 

	http_request = false;
//alert(parameters)

	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
			// set type accordingly to anticipated content type
			//http_request.overrideMimeType('text/xml');
			http_request.overrideMimeType('text/html');
		}
	} 
	else if (window.ActiveXObject) 
	{ // IE

		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {

		try {
			http_request = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (e) {}
	
		}
	}

	if (!http_request) {
		alert('Cannot create XMLHTTP instance');
		return false;
	}
      
	if(dataToReturn){
		http_request.onreadystatechange = AJAX_Results_Client_Send;			
	}

	if(refreshRqd){
		http_request.onreadystatechange = AJAX_Results_Client_Refresh;			
	}	

	http_request.open('POST', fileToCall, true);
	http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	http_request.setRequestHeader("Content-length", parameters.length);
	http_request.setRequestHeader("Connection", "close");
	http_request.send(parameters);
}

function AJAX_Results_Client_Send() {
	
	if (http_request.readyState == 4) {
		if (http_request.status == 200) {
			//alert(http_request.responseText);
			returnResults = http_request.responseText;
			//http_request = new ActiveXObject("Msxml2.XMLHTTP");

			try {
				document.getElementById('progress').style.display='none';
//enable any tables generated to be sortable
			sortables_init()
			} catch(e){}
			try {
				document.getElementById(targetForResults).innerHTML = returnResults;            	
			} catch (e) {
				alert('Portal error: Target element for AJAX results not found: ' + targetForResults + ' ' + returnResults);
			}
			
	
		} else {
			//msg="Error sending.";
			returnResults = http_request.responseText;
			alert('There was a problem with the request.' + returnResults);
		}	
	}
}


function AJAX_Results_Client_Refresh() {
	if (http_request.readyState == 4) {
		if (http_request.status == 200) {

			eval(refreshFunction)		
	
		} else {
			//msg="Error sending.";
			try{
				returnResults = http_request.responseText;
			}catch(e){}
			alert('There was a problem with the request.' + returnResults);
		}	
	}
}








