	var map;
    var container;
    var opacity = 0.4;
    var circle;
    var centerMarker;
    var circleUnits;
    var circleRadius;
    var zoom = 13;
    
   
        
    function initialize_officegmap(lat, long) {
    	if(lat != null && long != null){
	      var centerPoint = new GLatLng(lat, long);
	      var map_div = document.getElementById("map_canvas");
	     // map_div.style.display = 'block';
	    	  if (GBrowserIsCompatible()) {
		        map = new GMap2(document.getElementById("map_canvas"));
	
		        //set map center at office LATLONG
		        map.setCenter(centerPoint, zoom);
		        map.addOverlay(new GMarker(map.getCenter()));
		        //map.addControl(new GScaleControl());
		        map.addControl(new GLargeMapControl());
				map.addControl(new GMapTypeControl());
			        
	    	 
	    	}
	    	 
    	}else{
    		map_div.style.display = 'none';
    	}
    }
    
    function initialize_gmap(lat, long) {
    	if(lat != null && long != null){
    		
	      var centerPoint = new GLatLng(lat, long);
	      var radius = document.getElementById("job_type_radius_radius");
      
      
	      var map_div = document.getElementById("map_canvas");
  	      
	      if(radius.options[radius.selectedIndex].value != "STATE" && radius.options[radius.selectedIndex].value != "NATIONAL" ){
	    	  map_div.style.display = 'block';
	    	  if (GBrowserIsCompatible()) {
		        map = new GMap2(document.getElementById("map_canvas"), {draggableCursor:"crosshair"});
	
		        //set map center at office LATLONG
		        map.setCenter(centerPoint, zoom); //new GLatLng(37.4419, -122.1419), 13
	
		        //map.addControl(new GScaleControl());
		        map.addControl(new GLargeMapControl());
				map.addControl(new GMapTypeControl());
			        
		        setTimeout('drawCircle()', 500);
		      }
	    	}else{
	    		map_div.style.display = 'none';
	    	}
    	}
    	else{
    		map_div.style.display = 'none';
    	}
    }

    function drawCircle() {
    	var radius = document.getElementById("job_type_radius_radius");
    	var oRadius = radius.options[radius.selectedIndex];
    	oRadius.value = oRadius.value ? oRadius.value : 50;
    	/*if (oRadius.value.match(/[^\d.]/)) {
    		alert("Don't be silly. Enter a number for radius");
    		return;
    	}*/
    	
    	if (oRadius.value > 9999) {
    	}

    	circleRadius = oRadius.value;
   		circleUnits = 'MI';

    	doDrawCircle();
    }

    function doDrawCircle(){

    	if (circle) {
    		map.removeOverlay(circle);
    	}


    	if (centerMarker) {
    		map.setCenter(centerMarker.getLatLng())
    	}
    	else {
    		centerMarker = new GMarker(map.getCenter(),{draggable:true});
    		GEvent.addListener(centerMarker,'dragend',drawCircle)
    		
    	}
    	map.addOverlay(centerMarker);

    	var center = map.getCenter();

    	var bounds = new GLatLngBounds();

    	
    	var circlePoints = Array();

    	with (Math) {
    		if (circleUnits == 'KM') {
    			var d = circleRadius/6378.8;	// radians
    		}
    		else { //miles - ALWAYS
    			var d = circleRadius/3963.189;	// 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));
    	}
    }
