var _baseportal_requests=new Array();
function _baseportal_request(f,fr,snr)
{
	this.f=f;
	this.fr=fr;
	this.r=false;
	this.request=_baseportal_requests.length;
	_baseportal_requests[this.request]=this;

	if(window.XMLHttpRequest)
		try { this.r=new XMLHttpRequest(); } catch(e) { }
	else if(window.ActiveXObject)
       		try { this.r=new ActiveXObject("Msxml3.XMLHTTP"); } catch(e) {
       		try { this.r=new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) {
		try { this.r=new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) {} } }

	if(this.r)
	{
		this.r.onreadystatechange=new Function("", "_baseportal_request_return("+this.request+")");
		
		var send=this.f.arguments[1];
		this.r.open("POST", location.href+"&_script_nr="+snr+"&"+this.f.arguments[0], true);
		if(send)
		{
			send="&"+send;
			var rh=this.f.arguments[2];
			if(rh)
				for(var i=0; i<rh.length; i+=2) this.r.setRequestHeader(rh[i], rh[i+1]);
			else
				this.r.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
			this.r.setRequestHeader("X-BASEPORTAL", "convert-utf8");
//			this.r.setRequestHeader("Connection", "close");		// mozilla bug - noetig?
			this.r.setRequestHeader('Content-length', send.length);
		}
		this.r.send(send);
	}
}

function _baseportal_request_return(request)
{
	var p=_baseportal_requests[request]; var r=p.r;
	if(r.readyState==4) p.fr(r.responseText, r.responseXML, r.status);
}

