function XHConn()
{ var xmlhttp, bComplete = false; try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");}
catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");}
catch (e) { try { xmlhttp = new XMLHttpRequest();}
catch (e) { xmlhttp = false;}}}
if (!xmlhttp) return null; this.connect = function(sURL, sMethod, sVars, fnDone)
{ if (!xmlhttp) return false; bComplete = false; sMethod = sMethod.toUpperCase(); try { if (sMethod == "GET")
{ xmlhttp.open(sMethod, sURL+"?"+sVars, true); sVars = "";}
else
{ xmlhttp.open(sMethod, sURL, true); xmlhttp.setRequestHeader("Method", "POST "+sURL+" HTTP/1.1"); xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");}
xmlhttp.onreadystatechange = function(){ if (xmlhttp.readyState == 4 && !bComplete)
{ bComplete = true; fnDone(xmlhttp);}}; xmlhttp.send(sVars);}
catch(z) { return false;}
return true;}; return this;}
