HSLayers.namespace("HSLayers.Control","HSLayers.Control.SelectFeature");HSLayers.Control.SelectFeature=OpenLayers.Class(OpenLayers.Control.SelectFeature,{onBeforeUnselect:function(feature,event){return true;},select:function(feature,event){var cont=this.onBeforeSelect.call(this.scope,feature,this.handlers.feature.evt);var layer=feature.layer;if(cont!==false){cont=layer.events.triggerEvent("beforefeatureselected",{feature:feature,event:this.handlers.feature.evt});if(cont!==false){layer.selectedFeatures.push(feature);this.highlight(feature);if(!this.handlers.feature.lastFeature){this.handlers.feature.lastFeature=layer.selectedFeatures[0];}
layer.events.triggerEvent("featureselected",{feature:feature,event:(event?event:this.handlers.feature.evt)});this.onSelect.call(this.scope,feature);}}},clickFeature:function(feature){if(!this.hover){var selected=(OpenLayers.Util.indexOf(feature.layer.selectedFeatures,feature)>-1);if(selected){if(this.toggleSelect()){this.unselect(feature);}else if(!this.multipleSelect()){this.unselectAll({except:feature});}}else{if(!this.multipleSelect()){this.unselectAll({except:feature});}
this.select(feature);}}},unselect:function(feature){var cont=this.onBeforeUnselect.call(this.scope,feature,this.handlers.feature.evt);if(cont!==false){var layer=feature.layer;this.unhighlight(feature);OpenLayers.Util.removeItem(layer.selectedFeatures,feature);layer.events.triggerEvent("featureunselected",{feature:feature,event:this.handlers.feature.evt});this.onUnselect.call(this.scope,feature);}},unselectAll:function(options){var layers=this.layers||[this.layer];var layer,feature;for(var l=0;l<layers.length;++l){layer=layers[l];for(var i=layer.selectedFeatures.length-1;i>=0;--i){feature=layer.selectedFeatures[i];if(!options||options.except!=feature){this.unselect(feature);}}}},CLASS_NAME:"HSLayers.Control.SelectFeature"});
