function aSync() {
	var xmlHttp;
	this.xmlHttp = xmlHttp;
	
	var fadePanelId;
	this.fadePanelId = fadePanelId;
	
	var returnCall;
	this.returnCall = returnCall;
	
	function getContent(urlPath) {
		this.xmlHttp = false;
		if (window.XMLHttpRequest) {
			this.xmlHttp = new XMLHttpRequest();
		} else if (window.ActiveXObject) {
			try {
				this.xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
			} catch (e) {
				try {
					this.xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
				} catch (e) {}
			}
		}
		
		if (!this.xmlHttp) {
			// Cannot continue
			return;
		}
		
		var separator = (urlPath.indexOf("?") != -1) ? "&" : "?";
		urlPath = urlPath + separator + (Math.random() * 100);
		
		this.xmlHttp.open('GET', urlPath, false);
		this.xmlHttp.send(null);
		this.handleResponse();
	}
	this.getContent = getContent;
	
	function handleResponse() {
		if (this.xmlHttp.readyState == 4) {
			var xml = this.xmlHttp.responseXML;
			var html = document.createElement("div");
			html.innerHTML = this.xmlHttp.responseText;
			
			eval(this.returnCall)(this.fadePanelId, html);
		}
	}
	this.handleResponse = handleResponse;
	
	function setLayerId(layerId) {
		this.fadePanelId = layerId;
	}
	this.setLayerId = setLayerId;
	
	function setReturnMethod(returnMethod) {
		this.returnCall = returnMethod;
	}
	this.setReturnMethod = setReturnMethod;
	
	return this;
}
