docs: function(evt) {
          var sameMarkerClicked = (this == this.layer.selectedFeature);
          this.layer.selectedFeature = (!sameMarkerClicked) ? this : null;
          for(var i=0, len=this.layer.map.popups.length; i<len; i++) {
              this.layer.map.removePopup(this.layer.map.popups[i]);
          }
          if (!sameMarkerClicked) {
              var popup = this.createPopup();
              OpenLayers.Event.observe(popup.div, "click",
                  OpenLayers.Function.bind(function() { 
                      for(var i=0, len=this.layer.map.popups.length; i<len; i++) { 
                          this.layer.map.removePopup(this.layer.map.popups[i]); 
                      }
                  }, this)
              );
              this.layer.map.addPopup(popup); 
          }
          OpenLayers.Event.stop(evt);
      }