Here's some code I'm using. In ajax.js var text; var GotResponse; var LoopCount; function createRequestObject(){ var ro=3Dnull; // local Request Object try{ // Firefox, Opera 8.0+, Safari ro=3Dnew XMLHttpRequest(); } catch(e){ // Internet Explorer try{ ro=3Dnew ActiveXObject("Msxml2.XMLHTTP"); } catch(e){ try{ ro=3Dnew ActiveXObject("Microsoft.XMLHTTP"); } catch(e){ document.write("no ajax"); } } } return ro; // return Request Object based on browser type } var http =3D createRequestObject(); // create http based on browser type function sndReq(url) { http.open('get', url); http.onreadystatechange =3D handleResponse; http.send(null); } function handleResponse() { if(http.readyState =3D=3D 4){ var response =3D http.responseText; var line =3D new Array(); var NumLines=3D0; line=3Dresponse.split('\n'); // one line per index NumLines=3Dline.length; // how many lines we split response in to for(i=3D0;i