Drupal.behaviors.retailers_gmap_selector = function(context) {
	var $map_wrap = $('#block-views-retailers_gmap-block_1.selector .view-retailers-gmap .view-content', context).empty();
	if($map_wrap.length) {
		var map_wrap = $map_wrap[0];
		var selector_map = neova_retailers_map_init(map_wrap);
		var input_lng = $('#edit-field-retailers-region-lng-0-value', context).get(0);
		var input_lat = $('#edit-field-retailers-region-lat-0-value', context).get(0);
		var input_zoom = $('#edit-field-retailers-region-zoom-0-value', context).get(0);
				
		//set initial position
		if(input_zoom.value) {
			selector_map.setZoom(parseFloat(input_zoom.value));	
		}
		else {
			selector_map.setZoom(4);
		}
		
		if(input_lat.value && input_lng.value) {
			var lat = parseFloat(input_lat.value);
			var lng = parseFloat(input_lng.value);
			selector_map.setCenter(new google.maps.LatLng(lat, lng));
		}
		else {
			//TODO: Fix so only one default setting	
			selector_map.setCenter(new google.maps.LatLng(63.8110416621052, 21.38964843750001));
		}	
	
		var r = 100000;
		google.maps.event.addListener(selector_map, 'bounds_changed', function(){
				input_zoom.value = selector_map.getZoom();
				input_lng.value = Math.round(selector_map.getCenter().lng() * r) / r;
				input_lat.value = Math.round(selector_map.getCenter().lat() * r) / r;
			}
		);
	}
}
