function http() { var h; if (typeof(XMLHttpRequest) != "undefined") { h = new XMLHttpRequest(); } else { try { h = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { h = new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) { alert("Your browser is not supported."); } } } return h } function http_action(callback) { var h = http(); h.onreadystatechange = function() { if (h.readyState == 4) { if (h.status != 200 && h.status != 204) { alert(h.status + "\n" + h.responseText); } else { var ct = h.getResponseHeader("Content-Type"); if (ct.split(";")[0] == "text/xml") { try { var xmldoc = h.responseXML; if (xmldoc == null) throw "No XML in response" } catch (e) { alert(h.responseText); return } } else { var xmldoc = h.responseText; } if (callback != undefined) callback(xmldoc); } } } return h }