/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */


(function($, undefined) {


	$.widget("gcTool.measureArea", $.ui.gcTool, {

		widgetEventPrefix: "measureArea",

		options: {
			label: OpenLayers.i18n('Measure area'),
			icons: {
				primary: 'ruler2' // TODO: choose better name
			},
			text: false,
			targetDiv: null
		},

		_create: function() {
			var self = this;

			$.ui.gcTool.prototype._create.apply(self, arguments);

			// create control and add to map
			self.options.control = new OpenLayers.Control.Measure(OpenLayers.Handler.Polygon, {
				persist: true
			});
			self.options.control.events.register('measure', self, self._handleMeasurements);
			self.options.control.events.register('measurepartial', self, self._handleMeasurements);

			gisclient.map.addControl(self.options.control);
		},
		
		_deactivate: function() {
			var self = this;
			
			$('#'+self.options.targetDiv).empty();
		},

		_handleMeasurements: function(event) {
			var self = this;
			
			var html = OpenLayers.i18n('Area')+' '+event.measure.toFixed(3) + " " + event.units + "2";
			$('#'+self.options.targetDiv).html(html);
		}
	});

	$.extend($.gcTool.measureArea, {
		version: "3.0.0"
	});
})(jQuery);
