var datalib = {

  svc: "http://www.huebsch-gemacht.de/radwege/image.php",

  getAll: function(gotAllFunc) {
    var r = this._asyncRequest("getAll", "");
    r.onreadystatechange = function () {
      if (r.readyState == 4) {
        var rt = r.responseText;
	gotAllFunc(rt);
      }
    }
    r.send(null);
  },

  getAllSync: function() {
    var r = this._syncRequest("getAll", "");
    r.send(null);
    var rt = r.responseText;
    return rt;
  },

  get: function(id, gotFunc) {
    var r = this._asyncRequest("get", "ID="+id);
    r.onreadystatechange = function () {
      if (r.readyState == 4) {
        var rt = r.responseText;
	gotAllFunc(rt);
      }
    }
    r.send(null);
  },

  getSync: function(id) {
    var r = this._syncRequest("get", "ID="+id);
    r.send(null);
    var rt = r.responseText;
    return rt;
  },

  _asyncRequest: function (request, params) {
    return this._request(request, params, true);
  },

  _syncRequest: function (request, params) {
    return this._request(request, params, false);
  },

  _request: function (request, params, async) {
    var xmlHttp = null;
    // Mozilla, Opera, Safari sowie Internet Explorer 7
    if (typeof XMLHttpRequest != 'undefined') {
        xmlHttp = new XMLHttpRequest();
    }
    if (!xmlHttp) {
        // Internet Explorer 6 und älter
        try {
            xmlHttp  = new ActiveXObject("Msxml2.XMLHTTP");
        } catch(e) {
            try {
                xmlHttp  = new ActiveXObject("Microsoft.XMLHTTP");
            } catch(e) {
                xmlHttp  = null;
            }
        }
    }
    if (xmlHttp) {
        xmlHttp.open('POST', this.svc+"?op="+request+"&"+params, async);
    }
    return xmlHttp;
  }
};


