// The XML grabby thing
function httpRequest(url, callback)
{
    var xmlObject = false;
    
    // If we're using Netscape/Mozilla
    if (window.XMLHttpRequest)
    {
        xmlObject = new XMLHttpRequest();
    }
    
    // If we're using IE
    else if (window.ActiveXObject)
    {
        try
        {
            xmlObject = new AxtiveXObject("MSXML2.XMLHTTP");
        }
        catch (e)
        {
            try
            {
                xmlObject = new ActiveXObject("Microsoft.XMLHTTP");
            }
            catch (e)
            {
                xmlObject = alert("No XMLHttpRequest object");
            }
        }
    }
    
    // If we can't create the XMLHTTPRequest object
    if (xmlObject)
    {
        xmlObject.onreadystatechange = function()
        {
            if (xmlObject.readyState == 4 &&
                xmlObject.status == 200)
            {
                callback(xmlObject.responseText);
                delete xmlObject;
                xmlObject = null;
            }
        }
        
        xmlObject.open("GET", url, true);
        
        xmlObject.send(null);
    }
    
    else
    {
        xmlObject = alert("No XMLHttpRequest object");
    }
}