﻿OpenLayers.Handler.Marker=OpenLayers.Class.create();OpenLayers.Handler.Marker.prototype=OpenLayers.Class.inherit(OpenLayers.Handler.Feature,{handle:function(b){var c=b.type;var f=OpenLayers.Event.element(b);var a=null;for(var d=0;d<this.layer.markers.length;d++){if(this.layer.markers[d].icon.imageDiv.firstChild==f){a=this.layer.markers[d];break}}var e=false;if(a){if(this.geometryTypes==null){if(!this.feature){this.callback("over",[a])}else{if(this.feature!=a){this.callback("out",[this.feature]);this.callback("over",[a])}}this.feature=a;this.callback(c,[a]);e=true}else{if(this.feature&&(this.feature!=a)){this.callback("out",[this.feature]);this.feature=null}e=false}}else{if(this.feature){this.callback("out",[this.feature]);this.feature=null}e=false}return e},CLASS_NAME:"OpenLayers.Handler.Marker"});OpenLayers.Control.DragMarker=OpenLayers.Class.create();OpenLayers.Control.DragMarker.prototype=OpenLayers.Class.inherit(OpenLayers.Control.DragFeature,{initialize:function(a,b){OpenLayers.Control.prototype.initialize.apply(this,[b]);this.layer=a;this.handlers={drag:new OpenLayers.Handler.Drag(this,OpenLayers.Util.extend({down:this.downFeature,move:this.moveFeature,up:this.upFeature,out:this.cancel,done:this.doneDragging},this.dragCallbacks)),feature:new OpenLayers.Handler.Marker(this,this.layer,OpenLayers.Util.extend({over:this.overFeature,out:this.outFeature},this.featureCallbacks),{geometryTypes:this.geometryTypes})}},moveFeature:function(b){var a=this.feature.icon.px.add(b.x-this.lastPixel.x,b.y-this.lastPixel.y);this.feature.moveTo(a);this.lastPixel=b;this.onDrag(this.feature,b)},CLASS_NAME:"OpenLayers.Control.DragMarker"});
