function infixConversionService(infix)
{  // netscape.security.PrivilegeManager.enablePrivilege
   // ("UniversalBrowserRead");
   // url may be relative to current page
   var url = "http://icm.mcs.kent.edu/cgi-bin/infix2mathml.cgi?format=nn&simplify=yes&expr="
      + encodeURIComponent( infix );
   req = new XMLHttpRequest();
   // if (req.overrideMimeType) { req.overrideMimeType('text/xml'); }
   req.onreadystatechange=setResponse;
   req.open("GET", url, true);  // upper-case GET
   req.send(null);
}

// To use POST
//  add
//  req.setRequestHeader('Content-Type', 
//                 'application/x-www-form-urlencoded');

function setResponse()
{  if (req.readyState==4)
   {    if (req.status==200)  // if "OK"
             document.getElementById('code').value = req.responseText;
        else
            alert("Problem retrieving XML data");
   }
}

// The full list of the readyState values is as follows:

//     * 0 (uninitialized)
//     * 1 (loading)
//     * 2 (loaded)
//     * 3 (interactive)
//     * 4 (complete) 

//  two ways to get the response 
//   http_request.responseText – will return the server 
//                response as a string of text
//  http_request.responseXML – will return the response as an XMLDocument 
//     object you can traverse using the JavaScript DOM functions

function infixConversion(infix)
{  req_1 = new XMLHttpRequest();
   var url = "http://icm.mcs.kent.edu/cgi-bin/infix2mathml.rest?simplify=yes&expr=" + encodeURIComponent( infix );
   req_1.onreadystatechange=setResponse_1;
   req_1.open("GET", url, true);
   req_1.send(null);
}

function setResponse_1()
{  if (req_1.readyState==4)
   {    if (req_1.status==200)  // if "OK"
             document.getElementById('mathmlcode').value = req_1.responseText;
        else
            alert("Problem retrieving MathML Code");
   }
}

function displayMathml(infix, nd)
{  var url = "http://icm.mcs.kent.edu/cgi-bin/infix2mathml.cgi?format=nn&simplify=yes&expr="
      + encodeURIComponent( infix );
   var tx = "<object id=\"objNode\" data=\"" + url + 
       "\" type=\"text/xml\" style=\"width: 100%\""
        + "></object>";
   nd.innerHTML = tx;  
}

