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 // Internet Explorer may return 1223 for 204 && h.status != 1223) { alert("Error. Status = " + h.status + "\n" + h.responseText); } else { var result = ""; var ct = h.getResponseHeader("Content-Type"); if (ct.split(";")[0] == "text/xml") { try { result = h.responseXML; if (xmldoc == null) throw "No XML in response"; } catch (e) { result = h.responseText; alert(h.responseText); return; } } else { result = h.responseText; } if (callback != undefined) callback(result); } } } return h; }