// Copyright (c) Design Matrix, 2010, all rights reserved.
// http://www.designmatrix.com
var httpRequest = null; function makeRequestObject() { var httpRequest; if (window.XMLHttpRequest) { httpRequest = new XMLHttpRequest(); } else if (window.ActiveXObject) { var XmlHttpVersions = new Array("MSXML2.XMLHTTP.6.0", "MSXML2.XMLHTTP.5.0", "MSXML2.XMLHTTP.4.0", "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP", "Microsoft.XMLHTTP"); for (var i=0; i<XmlHttpVersions.length && !httpRequest; i++) { try { httpRequest = new ActiveXObject(XmlHttpVersions[i]); } catch (e) {} } } if (!httpRequest) { alert ('Cannot create an httpRequest object.'); return false; } else { return httpRequest; } } function makeRequest(url, callback) { var innerCallback = callback; if (!httpRequest) httpRequest = makeRequestObject(); if (httpRequest && (httpRequest.readyState == 4 || httpRequest.readyState == 0)) { httpRequest.onreadystatechange = function() {handleState(httpRequest);}; httpRequest.open('GET', url, true); httpRequest.send(null); } else { setTimeout( function () { makeRequest(url,callback) }, 2000); } function handleState(httpRequest) { if (httpRequest.readyState == 4) { if (httpRequest.status == 200) { innerCallback (httpRequest.responseText); } else { alert('There was a ' +httpRequest.readyState +' ' +httpRequest.status +' server connection problem with the request.'); } } } }
