var req;

function ajaxExec(url){
	if(window.XMLHttpRequest)
		req = new XMLHttpRequest();
	else if(window.ActiveXObject)
		req = new ActiveXObject("Microsoft.XMLHTTP");
	else
		return false;

	//true for async..
	req.open("POST",url,true);
	req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	req.send("");
}

function ajaxSend(url){
	//May want to comment this out...this looks like it will cancel the request...
	if(req){  
		req.onreadystatechange = function () {} 
		req.abort();
		req=null;
	}

	if(window.XMLHttpRequest)
		req = new XMLHttpRequest();
	else if(window.ActiveXObject)
		req = new ActiveXObject("Microsoft.XMLHTTP");
	else
		return false;

	//true for async..
	req.open("POST",url,true);
	req.onreadystatechange = ajaxParse;
	req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	req.send("");
}

function ajaxParse(){
	if( req.readyState==4 && req.status==200 )
		ajaxOut(req.responseText);
}

//AJAX -->
//this is a class for AJAX calls.  callBack is a function varible to run after it's done.
//leave callBack null if it is an execute command.
function AJAXCall(url, callBack){
	this.Request = null;
	
	var self = this;//This is needed to access variables inside a function
	
	if(window.XMLHttpRequest)
		this.Request = new XMLHttpRequest();
	else if(window.ActiveXObject)
		this.Request = new ActiveXObject("Microsoft.XMLHTTP");
	else
		return false;
				
	//true for async..
	this.Request.open("POST", url, true);
	
	this.Request.onreadystatechange = function(){
		if(self.Request.readyState==4 && self.Request.status==200)
			self.Out(self.Request.responseText);
	}

	this.Request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	this.Request.send("");
	
	if( callBack )
		this.Out = callBack;
	else
		this.Out = function(text){ return; }
}
// --> End AJAX