
//based on http://developer.apple.com/internet/webcontent/xmlhttpreq.html

//returns an index to request_objects where the resultant request object has been stored
//returns false on failure
function getRequestObject() {
	var request_object;
	request_object = false;
    // branch for native XMLHttpRequest object
    if(window.XMLHttpRequest) {
    	try {
			request_object = new XMLHttpRequest();
        } catch(e) {
			request_object = false;
        }
    // branch for IE/Windows ActiveX version
    } else if(window.ActiveXObject) {
       	try {
        	request_object = new ActiveXObject("Msxml2.XMLHTTP");
      	} catch(e) {
        	try {
          		request_object = new ActiveXObject("Microsoft.XMLHTTP");
        	} catch(e) {
          		request_object = false;
        	}
		}
    }
	return request_object;
}
function getUrl(url, code_to_run_on_success, code_to_run_on_failure) {
	if (navigator.userAgent.toLowerCase().indexOf('safari') != -1) {
		alert('Not currently supported in Safari.  Please use Internet Explorer for Windows or Mozilla or Firefox.');
		return;
	}
	var request_object;
	request_object = getRequestObject();
	
	request_object.onreadystatechange = function () {
		//e = request_object;
		if (request_object.readyState == 4) {
			//alert('readyState of 4');
			//alert(e.status);
			if (request_object.status == 200) { //|| navigator.userAgent.toLowerCase().indexOf('safari') != -1) {
				eval(code_to_run_on_success);
			} else {
				eval(code_to_run_on_failure);
			}
		}
	}
	//for safari bug involving no .status being returned http://www.bitterpill.org/logid/1117777362000 
	//request_object.setRequestHeader('If-Modified-Since', 'Wed, 15 Nov 1995 00:00:00 GMT');
    //end for safari bug 
	request_object.open("GET", url, true);
	request_object.send("");
	
}
