// AJAX module by Gerben Geijteman 2008 (C)

// ------------------------------
// Function ajax:
// - Automatic browser detection
// - return function with argument(object)s
// - Cross browser valid
function ajax(url, query, returnFunction, argObj) {
	if(window.XMLHttpRequest) {
        var req = new XMLHttpRequest();
    } else if(window.ActiveXObject) {
        try {
            req = new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch(e){
            req = new ActiveXObject("Microsoft.XMLHTTP");
        }
    }
    
    if(req != null) {
        req.onreadystatechange = function() {
        	processRequestChange(req, returnFunction, argObj);
        }		
        req.open("POST", url, true);
		req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");    
        req.send(query);
    }
}
// ------------------------------

// ------------------------------
// Function processRequestChange:
// - Ready status detection
// - Loading state activation
// ------------------------------
function processRequestChange(req, returnFunction, argObj){
	//alert(req.readyState);
	if(req.readyState == 4) {
		if(req.status == 200) {
			if(returnFunction) {
				returnFunction(req, argObj);
			}
			else
			{
				alert("A error occured during processing of information");
			}
		}
		else if (req.status == 404) {
        	alert("The requested page could not be found!");
       	}
		else if (req.status == 403) {
        	alert("Access denied!");
		}
        else {
            alert("The request could not be completed!\nStatus: " + req.status);
        }
	}
	else
	{
		if(argObj != null)
		{
			document.getElementById(argObj).innerHTML="Loading..";
		}
	}
}
// ------------------------------

// ------------------------------
//Function onResult
// - Returns the responseText object
// ------------------------------
function onResult(req, obj) {
	if(req) {
		document.getElementById('result').innerHTML=req.responseText;
	}
}

// ------------------------------

//Function onResults
// - Returns the responseText object
// ------------------------------
function onResults(req, obj) {
	if(req) {
		document.getElementById(obj).innerHTML=req.responseText;
	}
}
// ------------------------------