    var position_marker = null;
    var map = null;
	var map2 = null;
    var geocoder = null;
	var coordZoom = 13;
	var addrZoom = 16;
	var circleLine = [];
	var radiusPoints = [];
	var fillColors = ['', '', '#ffff00'];//['#00ff00', '#ff0000', '#ffff00'];  //lime red yellow
	var centerPoint = null;
	var latRadians = 0;
	var lonRadians = 0;
	var degRadians = 69.055;//69.171

    //<![CDATA[
    function loadCheap() {
      if (GBrowserIsCompatible()) {
        map = new GMap2(document.getElementById("map"));
        //map.addControl(new GLargeMapControl());
       // map.addControl(new GMapTypeControl());
        //geocoder = new GClientGeocoder();
	    var lat = document.getElementById("lat_radians").value;
	    var lon = document.getElementById("long_radians").value;
		latRadians = lat * 1000000;
		lonRadians = lon * 1000000;
		centerPoint = new GLatLng(lat, lon); 
        map.setCenter(centerPoint, addrZoom);
		position_marker = new GMarker (centerPoint);
		map.addOverlay(position_marker);
		//showAddress(map, document.getElementById("street").value, coordZoom);
        map2 = new GMap2(document.getElementById("map2"));
       	//map2.addControl(new GLargeMapControl());
        //map2.addControl(new GMapTypeControl());
		//showAddress(map2, document.getElementById("street").value, addrZoom);
		var maxRadius = document.getElementById("radius1v").value;
		if (document.getElementById("ringStudyChoice").value == 1)
			maxRadius = document.getElementById("radius3v").value;

		setInitialZoomCircle (maxRadius);
		map2.setCenter(centerPoint, coordZoom);
		//map2.addOverlay(position_marker);
		drawCircles ();
     }
    }
    //]]>
	

 	function drawCircles() {
		setRadiusPoint(0);
		drawCircle(0);
		if (document.getElementById("ringStudyChoice").value == 1)
			{
			setRadiusPoint(1);
			setRadiusPoint(2);
			drawCircle(1);
			drawCircle(2);
			}
		}	
	
	function drawCircle(index){
		var x,y;
		var normalProj = G_NORMAL_MAP.getProjection();	
		var zoom = map2.getZoom();
		var centerPt = normalProj.fromLatLngToPixel(centerPoint, zoom);
		var radiusPt = normalProj.fromLatLngToPixel(radiusPoints[index], zoom);
		var circlePoints = Array();
		with (Math) {
			var radius = floor(sqrt(pow((centerPt.x-radiusPt.x),2) + pow((centerPt.y-radiusPt.y),2)));

			for (var a = 0 ; a < 361 ; a+=5 ) {
				var aRad = a*(PI/180.0);
				y = centerPt.y + radius * sin(aRad);
				x = centerPt.x + radius * cos(aRad);
				var p = new GPoint(x,y);
				circlePoints.push(normalProj.fromPixelToLatLng(p, zoom));
				}

			if (circleLine[index] != null){map2.removeOverlay(circleLine[index])};
			circleLine[index] = new GPolyline(circlePoints,'#000000',1,1);//,fillColors[index],.1);
			map2.addOverlay(circleLine[index]);
			}
		}

	function setInitialZoomCircle (maxRadius)
		{
		var lat = latRadians;
		var lon = lonRadians;
		var lngAdj = (maxRadius*1.0)/(degRadians*Math.cos(centerPoint.lat()/(180.0/Math.PI)));
		var latAdj = (maxRadius*1.0)/degRadians;
		var newSW = new GLatLng (lat - latAdj, lon - lngAdj); 
		var newNE = new GLatLng (lat + latAdj, lon + lngAdj);
		//setRadiusPoint[2];
		radiusPoints[2] = new GLatLng(lat + latAdj, lon);
		var bounds = new GLatLngBounds (newSW, newNE);
		coordZoom = map2.getBoundsZoomLevel(bounds);
		return;
		}
	
	function getCoordZoom ()
		{
		return coordZoom;
		}
				
	function setRadiusPoint (index)
		{
		var radius = document.getElementById("radius1v").value;
		if (index == 1)
			radius = document.getElementById("radius2v").value;
		else if (index == 2)
			radius = document.getElementById("radius3v").value;
				
		//var lngAdj = radius/(degRadians*Math.cos(centerPoint.lat()/(180/Math.PI)));//seems to work with both radians and degrees
		var latAdj = radius/degRadians;
		radiusPoints[index] = new GLatLng (centerPoint.lat()+ latAdj, centerPoint.lng());
		}
	
   function showAddress(mapref, address, zoom) 
		{
      	if (geocoder) 
			{
        	geocoder.getLatLng(address,function(point) {
           								 				if (!point) 
             								 				;//alert(address + " not found");
             											else 
															{
			  												if (position_marker != null) 
      															mapref.removeOverlay(position_marker);
			  												gLatLong = new GLatLng ();
             												mapref.setCenter(point, zoom);  //# of steps up slider control
              												position_marker = new GMarker(point);
              												mapref.addOverlay(position_marker);
			  												gLatLong = position_marker.getPoint();
          													}
														});
      		}
   		 }

function initBody() {
	loadCheap();
    return;
	}

function unInitBody() {
	GUnload();
    return;
	}

