function handleAJAXGet(component, url)
{
    var element = document.getElementById(component);

    if(element)
    {
        var xmlHttpRequest = initXMLHttpRequest();

        xmlHttpRequest.onreadystatechange = function()
        {
            if(xmlHttpRequest.readyState == 4)
            {
                document.getElementById(component).innerHTML = xmlHttpRequest.responseText;
            }
        }

        xmlHttpRequest.open('GET', '/ajax-get.php' + url + '&' + Math.random(), true);

        xmlHttpRequest.send(null);
    }
}


function handleAJAXPost(form, component, url)
{
    var xmlHttpRequest = initXMLHttpRequest();
    var formdata = getQueryString(form);

    xmlHttpRequest.open('POST', '/ajax-post.php' + url + '&' + Math.random(), true);

    xmlHttpRequest.onreadystatechange = function()
    {
        if(xmlHttpRequest.readyState == 4)
        {
            document.getElementById(component).innerHTML = xmlHttpRequest.responseText;
        }
    }

    xmlHttpRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xmlHttpRequest.setRequestHeader("Content-length", formdata.length);
    xmlHttpRequest.setRequestHeader("Connection", "close");

    xmlHttpRequest.send(formdata);
}


function initXMLHttpRequest()
{
    var xmlHttpRequest = null;
    
    if(window.XMLHttpRequest)
    {
        xmlHttpRequest = new XMLHttpRequest();
    }
    else if(window.ActiveXObject)
    {
        xmlHttpRequest = new ActiveXObject('Microsoft.XMLHTTP');
    }

    return xmlHttpRequest;
}


function getQueryString(form)
{
    var formdata = '';

    var formelements = document.getElementById(form);

    for (i = 0; i < formelements.length; i++)
    {
        if(formelements[i].name != undefined)
        {
            if(formelements[i].type === 'text')
            {
                formdata = formdata + formelements[i].name + '=' + escape(formelements[i].value) + ((formelements.length - 1 > i) ? '&' : '');
            }
            else if(formelements[i].type == 'textarea')
            {
                formdata = formdata + formelements[i].name + '=' + escape(formelements[i].value) + ((formelements.length - 1 > i) ? '&' : '');
            }
            else if(formelements[i].type == 'checkbox')
            {
                formdata = formdata + formelements[i].name + '=' + formelements[i].checked + ((formelements.length - 1 > i) ? '&' : '');
            }
            else if(formelements[i].type == 'radio')
            {
                if(formelements[i].checked == true)
                {
                    formdata = formdata + formelements[i].name + '=' + formelements[i].value + ((formelements.length - 1 > i) ? '&' : '');
                }
            }
            else
            {
                formdata = formdata + formelements[i].name + '=' + escape(formelements[i].value) + ((formelements.length - 1 > i) ? '&' : '');
            }
        }
    }

    return formdata;
}
