function getContent(url,async_flag) { 
	if(!async_flag) async_flag = true;
	req = false; 
	// branch for native XMLHttpRequest object 
	if(window.XMLHttpRequest) { 
		try { 
			req = new XMLHttpRequest(); 
		} catch(e) { 
			req = false; 
		} // branch for IE/Windows ActiveX version 
	} else if(window.ActiveXObject) { 
		try { 
			req = new ActiveXObject("Msxml2.XMLHTTP"); 
		} catch(e) { 
			try { 
				req = new ActiveXObject("Microsoft.XMLHTTP");
			} catch(e) { 
				req = false;
			} 
		}
	} 
	if(req) { 	
		req.open("GET", url, async_flag);
		req.send(null);
		return req.responseText;
	} 
	return req;
}

// This function was taken from http://developer.apple.com/internet/webcontent/xmlhttpreq.html and altered for more general use
// This function creates and initialized an object that will perform an asyncronous server call
function loadXMLDoc(url, handler, method, asynch) { 
	req = false; 
	if(asynch == null){
		asynch = true;
	}
	// branch for native XMLHttpRequest object 
	if(window.XMLHttpRequest) { 
		try { 
			req = new XMLHttpRequest(); 
		} catch(e) { 
			req = false; 
		} // branch for IE/Windows ActiveX version 
	} else if(window.ActiveXObject) { 
		try { 
			req = new ActiveXObject("Msxml2.XMLHTTP"); 
		} catch(e) { 
			try { 
				req = new ActiveXObject("Microsoft.XMLHTTP");
			} catch(e) { 
				req = false;
			} 
		}
	} if(req) { 	
		req.onreadystatechange = handler; 
		req.open(method, url, asynch);
		if (method == "POST") {
			req.setRequestHeader("Content-Type","application/x-www-form-urlencoded; charset=UTF-8");
		} 
	} 
	return req;
}