function erzeugeAnfrage() {
  var anfrage = null;
  try {
    anfrage = new XMLHttpRequest();
  } catch (versuchmicrosoft) {
    try {
      anfrage = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (anderesmicrosoft) {
      try {
        anfrage = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (fahlschlag) {
        anfrage = null;
      }
    }
  }

  if (anfrage == null) {
    alert("Fehler beim Erzeugen des Anfrage-Objekts!");
    return '';
  } else {
    return anfrage;
  }
}

var anfrage1 = erzeugeAnfrage();
var anfrage2 = erzeugeAnfrage();



function ajax_get(url, callback) {
	var http_request = false;

	if (window.XMLHttpRequest) {
		http_request = new XMLHttpRequest();
//		if (http_request.overrideMimeType) {
//			http_request.overrideMimeType('text/xml; charset=utf-8');
//		}
	} else if(window.ActiveXObject) {       // IE6 and older
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}
	if (!http_request) {
		alert("Your internet browser does not support reloading of parts of the website.\n\nPlease use a different or more recent browser.");
		return false;
	}

	http_request.onreadystatechange = function() {
		if (http_request.readyState == 4) {
			if (http_request.status == 200) {
				callback(http_request.responseText);
			}
		}
	};

	http_request.open('GET', url, true);
	http_request.send(null);
	return true;
}

// Identical to ajax_get() with two differences:
// - all return text is prefixed by the timestamp of the time called + "\n",
//   so all output can be filtered by time to not load older outputs after
//   newer output
// - mime type does not get forced to text/xml
function ajax_get2(url, callback) {
	var http_request = false;
	var timestamp = new Date().getTime();

	if (window.XMLHttpRequest) {
		http_request = new XMLHttpRequest();
	} else if(window.ActiveXObject) {       // IE6 and older
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e) {}
		}
	}
	if (!http_request) {
		alert("Your internet browser does not support reloading of parts of the website.\n\nPlease use a different or more recent browser.");
		return false;
	}

	http_request.onreadystatechange = function() {
		if (http_request.readyState == 4) {
			if (http_request.status == 200) {
				callback(timestamp + "\n" + http_request.responseText);
			}
		}
	};

	http_request.open('GET', url, true);
	http_request.send(null);
	return true;
}

