function AJAXFactory() { var http_request = false; if (window.XMLHttpRequest) { // Mozilla, Safari, ... http_request = new XMLHttpRequest(); if (http_request.overrideMimeType) { http_request.overrideMimeType('text/xml'); // See note below about this line } } else if (window.ActiveXObject) { // IE try { http_request = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { http_request = new ActiveXObject("Microsoft.XMLHTTP"); } catch (e) {} } } if (!http_request) { alert('Giving up :( Cannot create an XMLHTTP instance'); return false; } return http_request; } ////////// helper function to make an AJAX request. // // url == url you're making the request from. // callback == the http_request callback function. Must take one parameter, which is the // http_request // ////////// function AJAXGet(url, callback) { http_request = AJAXFactory(); http_request.onreadystatechange = function() { callback(http_request); }; http_request.open('GET', url, true); http_request.send(null); } function AJAXPost(url, callback, poststr) { http_request = AJAXFactory(); http_request.onreadystatechange = function() { callback(http_request); }; http_request.open('POST', url, true); http_request.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); http_request.setRequestHeader("Content-length", poststr.length); http_request.setRequestHeader("Connection", "close"); http_request.send(poststr); }