	
    var map = null;
    var geocoder = null;
	var bounds=null;

    function initialize() {
      if (GBrowserIsCompatible()) {
        map = new GMap2(document.getElementById("map_canvas"));
		bounds = new GLatLngBounds();
		map = new GMap2(document.getElementById("map_canvas"));
        //map.setCenter(new GLatLng(37.4419, -122.1419), 13);
        map.addControl(new GSmallMapControl());
        map.addControl(new GMapTypeControl());
        geocoder = new GClientGeocoder();
      }
    }	

    function showAddress(address) {
	initialize();
	if (GBrowserIsCompatible()) {
        map = new GMap2(document.getElementById("map_canvas"));
        
        
        geocoder = new GClientGeocoder();
      
      if (geocoder) {
        geocoder.getLatLng(
          address,
          function(point) {
            if (!point) {
              //alert(address + " not found");
            } else {
              map.setCenter(point, 17);
			  map.addControl(new GSmallMapControl());
	          map.addControl(new GMapTypeControl());			  
              var marker = new GMarker(point);
              map.addOverlay(marker);
              marker.openInfoWindowHtml(address);
            }
          }
        );
      }
	  }
    }
	
	


	function setMapCenter(){		
		//map.setCenter(new GLatLng(lat, lng), 17);
		map.setZoom(map.getBoundsZoomLevel(bounds));
		map.setCenter(bounds.getCenter());
	}
	function addMarker(latitude,longitude,address,index){
		
		var point=new GLatLng(latitude, longitude);
		createMarker(point,address,index)
	}
	function addLetterMarker(latitude,longitude,address,index){
		
		var point=new GLatLng(latitude, longitude);
		createLetterMarker(point,address,index)
	}	
	function createMarker(point,address,index){
			  map.setCenter(point, 17);
			  //map.setCenter(new GLatLng(-37.867837, 144.761479), 17);
			  map.addControl(new GSmallMapControl());
	          map.addControl(new GMapTypeControl()); 
			  var baseIcon = new GIcon(G_DEFAULT_ICON);
			//baseIcon.shadow = "http://www.google.com/mapfiles/shadow50.png";
			
			baseIcon.iconSize = new GSize(40, 55);
			baseIcon.shadowSize = new GSize(0, 0);
			baseIcon.iconAnchor = new GPoint(20, 50);
			baseIcon.infoWindowAnchor = new GPoint(9, 15);
			var letteredIcon = new GIcon(baseIcon);
			var letter = String.fromCharCode("A".charCodeAt(0) + index); 
			//letteredIcon.image = "http://www.google.com/mapfiles/marker"+letter+".png";
			letteredIcon.image="http://www.yournewsagent.com.au/images/ynaicon.png";
			//letteredIcon.image="http://www.yournewsagent.com.au/images/ynaiconglow.png";
			//letteredIcon.image="http://gmaps-samples.googlecode.com/svn/trunk/markers/blue/blank.png";
			
			markerOptions = { icon:letteredIcon };

			  var marker = new GMarker(point, markerOptions); 
			  //var marker = new GMarker(point); 
              map.addOverlay(marker);
			  GEvent.addListener(marker, "click", function() {
              	marker.openInfoWindowHtml(address);
			  });
			  bounds.extend(point);
		return marker;
	}
	function createLetterMarker(point,address,index){
			  map.setCenter(point, 17);
			  //map.setCenter(new GLatLng(-37.867837, 144.761479), 17);
			  map.addControl(new GSmallMapControl());
	          map.addControl(new GMapTypeControl()); 
			  var baseIcon = new GIcon(G_DEFAULT_ICON);
			//baseIcon.shadow = "http://www.google.com/mapfiles/shadow50.png";
			
			/*baseIcon.iconSize = new GSize(40, 55);
			baseIcon.shadowSize = new GSize(0, 0);
			baseIcon.iconAnchor = new GPoint(20, 50);
			baseIcon.infoWindowAnchor = new GPoint(9, 15);*/
			var letteredIcon = new GIcon(baseIcon);
			var letter = String.fromCharCode("A".charCodeAt(0) + index); 
			letteredIcon.image = "http://www.google.com/mapfiles/marker"+letter+".png";						
			markerOptions = { icon:letteredIcon };

			  var marker = new GMarker(point, markerOptions); 
			  //var marker = new GMarker(point); 
              map.addOverlay(marker);
			  GEvent.addListener(marker, "click", function() {
              	marker.openInfoWindowHtml(address);
			  });
			  bounds.extend(point);
		return marker;
	}	
