var xmlhttp;
var results;

/**
 * Perform an AJAX Request
 * @param url The full URL including parameters to send to the action page.
 * @param resultsId The HTML object to send the result to.
 */
function ajaxRequest(url, resultsId)
{
    xmlhttp=GetXmlHttpObject();
    if (xmlhttp==null)
    {
        alert ("Browser does not support HTTP Request");
        return;
    }

    results = resultsId;
     
    if(document.getElementById(resultsId).tagName == "INPUT") {
        xmlhttp.onreadystatechange=stateChangedValue;
    }
    else {
        xmlhttp.onreadystatechange=stateChangedInnerHTML;
    }
    xmlhttp.open("GET",url,true);
    xmlhttp.send(null);
}

/**
 * Callback function from the server.
 */
function stateChangedInnerHTML()
{
    if (xmlhttp.readyState==4)
    {
        document.getElementById(results).innerHTML=xmlhttp.responseText;
    }
}

/**
 * Callback function from the server.
 */
function stateChangedValue()
{
    if (xmlhttp.readyState==4)
    {
        document.getElementById(results).value=xmlhttp.responseText;
    }
}

/**
 * Get the HTTP Object depending on the browser being used.
 */
function GetXmlHttpObject()
{
    if (window.XMLHttpRequest)
    {
        // code for IE7+, Firefox, Chrome, Opera, Safari
        return new XMLHttpRequest();
    }
    if (window.ActiveXObject)
    {
        // code for IE6, IE5
        return new ActiveXObject("Microsoft.XMLHTTP");
    }
    return null;
}