            function AJAXInteraction(url, callback, onError, xml)
            {
                var req = init();
                req.onreadystatechange = processRequest;

                function init()
                {
                    if (window.XMLHttpRequest)
                    {
                        return new XMLHttpRequest();
                    }
                    else if (window.ActiveXObject)
                    {
                        return new ActiveXObject("Microsoft.XMLHTTP");
                    }
                }

                function processRequest ()
                {
                    if (req.readyState == 4)
                    {
                        if(xml)
                        {
                            if (req.status == 200)
                            {
                                if (callback)
                                    callback(req.responseXML);
                            }
                            else
                            {
                                if(onError)
                                    onError("<error>Request failed - code " + req.status + "</error>");
                            }
                        }
                        else
                        {
                            if (req.status == 200)
                            {
                                if (callback)
                                    callback(req.responseText);
                            }
                            else
                            {
                                if(onError)
                                    onError("ERROR : Request failed - code " + req.status);
                            }
                        }
                    }
                }

                this.doGet = function()
                {
                    req.open("GET", url, true);
                    req.send(null);
                }

                this.doPost = function(body)
                {
                    req.open("POST", url, true);
                    req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
                    canDoSearch = false;
                    req.send(body);
                }
            
            }
