/* 020 ********************************************************************/


var net=new Object();

net.READY_STATE_UNINITIALIZED=0;
net.READY_STATE_LOADING=1;
net.READY_STATE_LOADED=2;
net.READY_STATE_INTERACTIVE=3;
net.READY_STATE_COMPLETE=4;

net.ContentLoader=function(url,onload,onerror,method,params,contentType, divId)
{
    this.req=null;
    this.onload=onload;
    this.onerror=(onerror) ? onerror : this.defaultError;
    this.divId=divId;
    this.loadXMLDoc(url,method,params,contentType);
}

net.ContentLoader.prototype.loadXMLDoc=function(url,method,params,contentType)
{
    if (!method)
    {
        method="GET";
    }
    if (!contentType && method=="POST")
    {
        contentType='application/x-www-form-urlencoded';
    }
    if (window.XMLHttpRequest)
    {
        this.req=new XMLHttpRequest();
    }
    else if (window.ActiveXObject)
    {
        this.req=new ActiveXObject("Microsoft.XMLHTTP");
    }
    if (this.req)
    {
        try
        {
            var loader=this;
            if (params != "")
            {
                url = url + "?" + params;
                random = Math.floor(Math.random()*1000000);
                url = url + "&ts=" + random;
            }
            this.req.onreadystatechange=function()
            {
                net.ContentLoader.onReadyState.call(loader);
            }
            this.req.open(method,url,true);
            if (contentType)
            {
                this.req.setRequestHeader('Content-Type', contentType);
            }
            this.req.send(null);
        }
        catch (err)
        {
            this.onerror.call(this);
        }
    }
}

net.ContentLoader.onReadyState=function()
{
    var req=this.req;
    var ready=req.readyState;

    if (ready==net.READY_STATE_COMPLETE)
    {
        var httpStatus=req.status;
        if (httpStatus==200 || httpStatus==0)
        {
            this.onload(req.responseText, this.divId);
        }
        else
        {
            this.onerror.call(this);
        }
    }
}

net.ContentLoader.prototype.defaultError=function()
{
    alert("error fetching data!"
    +"\n\nreadyState:"+this.req.readyState
    +"\nstatus: "+this.req.status
    +"\nheaders: "+this.req.getAllResponseHeaders());
}

net.ContentLoader.prototype.abort=function()
{
	//alert('we gaan aborten: de status van het xmlobject is' + this.req.status);
	this.req.abort();
}

function dirDivContent (data,divId)
{
    if (divId)
    {
        document.getElementById(divId).innerHTML=data;
    }
}

// Call maken
function call(divId)
{
	params = 'id=1&cat=2';
	var loader=new net.ContentLoader('page020.php', dirDivContent,'' ,'' ,params,'', divId);	
}

