OpenLayers.Control.Click =
  OpenLayers.Class(OpenLayers.Control, {
    defaultHandlerOptions: {
      'single': true,
      'double': true,
      'pixelTolerance': 0,
      'stopSingle': false,
      'stopDouble': false
    },

    initialize: function(options) {
      var opts = options || {};
      this.handlerOptions = OpenLayers.Util.applyDefaults(
        opts.handlerOptions || {},
        this.defaultHandlerOptions
      );
      OpenLayers.Control.prototype.initialize.apply(
        this,
        arguments
      );
      this.handler = new OpenLayers.Handler.Click(
        this,
        {
          'click': this.onClick,
          'dblclick': this.onDblClick
        },
        this.handlerOptions
      );
    },

    onClick: function( evt ) {
      // click func
      var lonlat = map.getLonLatFromViewPortPx(evt.xy);
      alert('Klick auf Koordinate: ' + lonlat.lon + ', ' + lonlat.lat);
    },

    onDblClick: function( evt ) {
      // doubleClick func
      var lonlat = map.getLonLatFromViewPortPx(evt.xy);
      alert('Doppelklick auf Koordinate: ' + lonlat.lon + ', ' + lonlat.lat);
    },

    CLASS_NAME: "OpenLayers.Control.Click"
  }
);

