    //////////////////////////////////////////////
    // INSTANTIATE BROWSER SPECIFIC AJAX OBJECT //
    //////////////////////////////////////////////
    function genReqObj() 
    {
        if (window.XMLHttpRequest)
        {
            req = new XMLHttpRequest();         // Non-IE
        }
        else if (window.ActiveXObject)
        {
            req = new ActiveXObject("Microsoft.XMLHTTP");   // IE
        }
        return req;
    }
    

    //////////////////////////////////////////////
    // AJAX TRANSPORT functions                 //
    //////////////////////////////////////////////
    function processReqChange() 
    {
        if (req.readyState == 4)    // only if req shows "complete"
        {
            if (req.status == 200 || ("OK" == req.status) )  // only if "OK"
            {
                // ...processing statements go here...
                response  = req.responseXML.documentElement;
                
                method    = response.getElementsByTagName('method')[0].firstChild.data;
                result    = response.getElementsByTagName('result')[0].firstChild.data;
                if ( response.getElementsByTagName('docbody')[0] != null )
                {
                    docbody   = response.getElementsByTagName('docbody')[0].firstChild.data;
                }
                
                eval(method + "('" + result + "')");
            }
            else
            {
                alert("There was a problem retrieving the XML data:\n'" + req.statusText + "'");
            }
        }
    }
