function TOwl() {
	this.oOwl     = zXmlHttp.createRequest();
	this.aQueue   = new Array();
	this.sCurrent = null;
}
	TOwl.prototype.sget = function(sLink, oObject, sFunction) {
		
		this.aQueue.push({sLink:sLink, oObject:oObject, sFunction:sFunction, sMethod:'get', sPost:null});
		if(this.sCurrent == null)
			this.pnext();
	}
	
	TOwl.prototype.spost = function(sLink, oObject, sFunction, sPost) {
		
		this.aQueue.push({sLink:sLink, oObject:oObject, sFunction:sFunction, sMethod:'post', sPost:sPost});
		if(this.sCurrent == null)
			this.pnext();
	}
	
	TOwl.prototype.pnext = function() {
		this.sCurrent = this.aQueue.shift();
		this.oOwl.onreadystatechange = function() {oTOwl.schange();};
		this.oOwl.open(this.sCurrent.sMethod, this.sCurrent.sLink, true);
		if(this.sCurrent.sMethod == 'post') {
			this.oOwl.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        	this.oOwl.setRequestHeader("Content-length", this.sCurrent.sPost.length);
        	this.oOwl.setRequestHeader("Connection", "close");
		};
		this.oOwl.send(this.sCurrent.sPost);
	}
	
	TOwl.prototype.schange = function() {
		if(oTOwl.oOwl.readyState == 4) {
			var sText = oTOwl.oOwl.responseText;
			oTOwl.sCurrent.sFunction.call(oTOwl.sCurrent.oObject, sText);
			oTOwl.oOwl.abort();
			this.sCurrent = null;
			if(this.aQueue.length > 0)
				this.pnext();
		};
	}
var oTOwl = new TOwl();
