 <!--
var map;
var latitude;
var longitude;
var container;
var opacity = 0.4;
var circle;
var centerMarker;
var circleRadius;
var zoom = 3;
var centerPoint;
var mgr;

function drawCircle(range, lat, lon) {
	var latitude = lat;
	var longitude = lon;
	var givenrange = range;
	
	if (GBrowserIsCompatible()) { 
		container = document.getElementById("map");
		map = new GMap2(container);
		//centerPoint = new GLatLng(longitude,latitude);
		map.setCenter(new GLatLng(longitude,latitude), zoom);
		map.addControl(new GLargeMapControl());
		map.addControl(new GMapTypeControl());
		map.addControl(new GScaleControl());
		//Check when the map is zoomed and update the number of currently visible gMarkers
		GEvent.addListener(map, 'zoomend', function() {
                  checkMarkerCount(mgr.getMarkerCount(map.getZoom()));
                });
		
		//Marker manager
		var mgrOptions = { borderPadding: 50, trackMarkers: false };
		mgr = new MarkerManager(map);
		//{draggableCursor:"crosshair"}
		//alert(range);
		//alert(lat);
		//alert(lon);
	}
		// display a warning if the browser was not compatible
		else {
		  alert("Sorry, the Google Maps API is not compatible with this browser");
		}
		
	var oRadius = givenrange;
	oRadius = oRadius ? oRadius : 500;
	
	if (oRadius.match(/[^\d.]/)) {
		alert("Don't be silly. Enter a number for radius");
		return;
	}
	if (oRadius > 9999) {
	}

	circleRadius = oRadius;

	doDrawCircle();
}

function doDrawCircle(){

	if (circle) {
		//alert('test');
		map.removeOverlay(circle);
	}

	var center = map.getCenter();

	var bounds = new GLatLngBounds();

	
	var circlePoints = Array();

	with (Math) {

		var d = circleRadius/6378.8;	// radians

		var lat1 = (PI/180)* center.lat(); // radians
		var lng1 = (PI/180)* center.lng(); // radians

		for (var a = 0 ; a < 361 ; a++ ) {
			var tc = (PI/180)*a;
			var y = asin(sin(lat1)*cos(d)+cos(lat1)*sin(d)*cos(tc));
			var dlng = atan2(sin(tc)*sin(d)*cos(lat1),cos(d)-sin(lat1)*sin(y));
			var x = ((lng1-dlng+PI) % (2*PI)) - PI ; // MOD function
			var point = new GLatLng(parseFloat(y*(180/PI)),parseFloat(x*(180/PI)));
			circlePoints.push(point);
			bounds.extend(point);
		}

		if (d < 1.5678565720686044) {
			circle = new GPolygon(circlePoints, '#000000', 2, 1, '#000000', 0.25);	
		}
		else {
			circle = new GPolygon(circlePoints, '#000000', 2, 1);	
		}
		map.addOverlay(circle); 

		map.setZoom(map.getBoundsZoomLevel(bounds));
	}
}

//-->