
function CreateRequestObject() {
    var ro;
    var browser = navigator.appName;
    if (browser == "Microsoft Internet Explorer") {
        ro = new ActiveXObject("Microsoft.XMLHTTP");
    } else {
        ro = new XMLHttpRequest();
    }
    return ro;
}


//Send a request off to a php file
function sendRequestToPhpFile(phpFile, poststr, callback) {
        var xmlHttp = CreateRequestObject();
        xmlHttp.open('post', phpFile, true);
        xmlHttp.onreadystatechange = callback;
        xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        xmlHttp.setRequestHeader("Content-length", poststr.length);
        xmlHttp.setRequestHeader("Connection", "close");
        xmlHttp.send(poststr);
        return xmlHttp;
}


//sends a post string off to the named phpFileName, and runs 'callbackFunction' on return
function submitToPhpFile(phpFileName, poststr, callbackFunction) {
        var xmlHttp = CreateRequestObject();
        xmlHttp.open('post', phpFileName, true);
        xmlHttp.onreadystatechange = function() {
                if (xmlHttp.readyState==4) {
                        if (xmlHttp.responseText.indexOf('notLoggedIn') != -1)
                                showLoginWindow(xmlHttp.responseText.split("\n", 2)[1]);
                        else {
                                var data = xmlHttp.responseText.split('\n');
                                var onErrorDiv = document.getElementById('onErrorDiv');
                                if (data[0] == 'error') {
                                        if (onErrorDiv != null) {
                                                onErrorDiv.innerHTML = "";
                                                for (var j = 1; j < data.length; j++) {
                                                        onErrorDiv.innerHTML += data[j] + "<br>";
                                                }
                                        }
                                }
                                else { //success
                                        onErrorDiv.innerHTML = "";
                                        eval(callbackFunction);
                                }
                        }
                }
        };
        xmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        xmlHttp.setRequestHeader("Content-length", poststr.length);
        xmlHttp.setRequestHeader("Connection", "close");
        xmlHttp.send(poststr);
}

