function ajaxCheckForError(xml) {
    if (!xml)
        return true;

    var result = xml.getElementsByTagName("result")[0];
    if (!result)
        return true;

    var isError = result.getAttribute("error");
    if (isError == "1" || isError == 1)
        return true;

    return false;
}

function ajaxErrorHandler(o) {
    if (progressPanel) {
        progressPanel.doHide();
    }
    var message = null;
    var logout = false;
    var xml = o.responseXML;
    if (xml) {
        var messageElement = xml.getElementsByTagName("message");
        if (messageElement.length > 0)
            message = messageElement[0].firstChild.nodeValue;
        else
            message = "Unknown error";

        var doLogoutElement = xml.getElementsByTagName("doLogout");
        if (doLogoutElement.length > 0) {
            logout = doLogoutElement[0].firstChild.nodeValue == 'true';
        }
    }
    else {
        message = "Failed to connect to server: " + o.status;
    }
    alert(message);
    if (logout) {
        window.location.href = "/login.htm";
    }
}
