var http_request = false;

function createRequestObject(onLoad)
{
    if (window.XMLHttpRequest) { // Mozilla, Safari,...
        http_request = new XMLHttpRequest();
        if (http_request.overrideMimeType) 
        {
			http_request.overrideMimeType('text/xml');
			http_request.onload = typeof(onLoad) != 'undefined' ? onLoad : stateHandler;
        }
    } else if (window.ActiveXObject) { // IE
        try {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
        }
    }
    if(!http_request)
    	return false;
    return true;
}

function sendRequest(inUrl, parms, meth, async, onComplete) 
{
	http_request.onreadystatechange = (typeof(onComplete)=='function' ? onComplete : stateHandler);
    if(meth == 'POST')
    {
        http_request.open("POST", inUrl, async);
        http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); 
        http_request.setRequestHeader('Cookie', document.cookie); 
        http_request.send(parms);
        
   	}	
    else // get
    {
        http_request.open("GET", inUrl + '?' + parms, async);
        http_request.send(null);
    }    
}


function stateHandler()
{		
 	if(http_request.readyState != 4)
 		return;
 
 	if(http_request.status == 200)
 		AJAXsuccess();
	else
		AJAXfailure();
	
}