
   var ajax_request = false;
   var ajax_handler = false;
   var ajax_type    = false;



    function ajax_dorequest(url,handler,type)
    {
       ajax_request = false;
       ajax_handler = handler;
       ajax_type    = type;


       if (window.XMLHttpRequest)   // Mozilla, Safari,...
       {
           ajax_request = new XMLHttpRequest();
           if (ajax_request.overrideMimeType)
           {
               ajax_request.overrideMimeType('text/xml');
               ajax_request.onreadystatechange = ajax_events;
               ajax_request.open('GET', url, true);
               ajax_request.send(null);
               return;
           }
       }
       else if (window.ActiveXObject)
       {
           try
           {
               ajax_request = new ActiveXObject("Msxml2.XMLHTTP");
           }
           catch (e)
           {
               try
               {
                 ajax_request = new ActiveXObject("Microsoft.XMLHTTP");
               } catch (e) {}
           }
       }

       if (!ajax_request)
       {
           alert('Giving up :( Cannot create an XMLHTTP instance');
           return false;
       }
       ajax_request.onreadystatechange = ajax_events;
       ajax_request.open('GET', url, true);
       ajax_request.send();
    }

    function ajax_events()
    {

        if (ajax_request.readyState == 4)
        {
            if (ajax_request.status == 200)
            {

                //alert(ajax_request.responseText);
                //document.getElementById("txt_debug").value = ajax_request.responseText;

                if( ajax_type == "xml" )
                {
                    var xmldoc = ajax_request.responseXML;
                   
                    if( !xmldoc )
                    {
                         alert("Application Error.. try again.");
                    }

                    eval(ajax_handler + "(xmldoc);");
                }
                else
                {
                    eval(ajax_handler + "(ajax_request.responseText);");
                }


            }
            else
            {
                alert('There was a problem with the request.');
            }
        }

    }


