
OpenLayers.GreaseOl.Control.GreaseControlModifyFeature=OpenLayers.Class(OpenLayers.Control.ModifyFeature,{defaultGreaseOptions:{'execFn':defaultDraw,'ajaxFunction':'updateCoorddisegno','singleGeom':true,'showLoading':true,'resetImages':false,'showLoadingToc':false,'command':'MODFY','cursorClass':null},greaseOptions:null,initialize:function(layer,handler,options){this.greaseOptions=OpenLayers.Util.extend({},this.defaultGreaseOptions);OpenLayers.Control.ModifyFeature.prototype.initialize.apply(this,[layer,handler,options]);},setGreaseOptions:function(greaseOptions){this.greaseOptions=OpenLayers.Util.extend({},this.defaultGreaseOptions);this.greaseOptions=OpenLayers.Util.extend(this.greaseOptions,greaseOptions);return true;},unselectFeature:function(object){OpenLayers.Control.ModifyFeature.prototype.unselectFeature.apply(this,[object]);if(this.greaseOptions.execFn&&this.greaseOptions.execFn!=null){var geometry=object.feature.geometry;var geometryType='';var lonlatArray=[];var geoms=[];if(this.layer.features.length==1){if(geometry.CLASS_NAME=='OpenLayers.Geometry.Point'){geometryType=OpenLayers.GreaseOl.Constants.GEOMETRY_TYPE_POINT;lonlatArray.push({lon:geometry.x,lat:geometry.y});}else if(geometry.CLASS_NAME=='OpenLayers.Geometry.LineString'){geometryType=OpenLayers.GreaseOl.Constants.GEOMETRY_TYPE_LINE;for(var i=0;i<geometry.components.length;i++){lonlatArray.push({lon:geometry.components[i].x,lat:geometry.components[i].y});}}else if(geometry.CLASS_NAME=='OpenLayers.Geometry.Polygon'){geometryType=OpenLayers.GreaseOl.Constants.GEOMETRY_TYPE_POLYGON;for(var i=0;i<geometry.components[0].components.length;i++){lonlatArray.push({lon:geometry.components[0].components[i].x,lat:geometry.components[0].components[i].y});}}
geoms.push(lonlatArray);}else{for(var k=0;k<this.layer.features.length;k++){lonlatArray=[];var curGeom=this.layer.features[k].geometry;if(geometry.CLASS_NAME=='OpenLayers.Geometry.Point'){geometryType=OpenLayers.GreaseOl.Constants.GEOMETRY_TYPE_MULTIPOINT;lonlatArray.push({lon:curGeom.x,lat:curGeom.y});}else if(geometry.CLASS_NAME=='OpenLayers.Geometry.LineString'){geometryType=OpenLayers.GreaseOl.Constants.GEOMETRY_TYPE_MULTILINE;for(var i=0;i<curGeom.components.length;i++){lonlatArray.push({lon:curGeom.components[i].x,lat:curGeom.components[i].y});}}else if(geometry.CLASS_NAME=='OpenLayers.Geometry.Polygon'){geometryType=OpenLayers.GreaseOl.Constants.GEOMETRY_TYPE_MULTIPOLYGON;for(var i=0;i<curGeom.components[0].components.length;i++){lonlatArray.push({lon:curGeom.components[0].components[i].x,lat:curGeom.components[0].components[i].y});}}
geoms.push(lonlatArray);}}
this.greaseOptions.execFn(geoms,this.map,this.greaseOptions.ajaxFunction,this.greaseOptions,geometryType);}},CLASS_NAME:"OpenLayers.GreaseOl.Control.GreaseControlModifyFeature"});