var hMap = null;
var geocoderH = null;
var zoomLevelH = 12;

// Create a base icon for all of our markers that specifies the
// shadow, icon dimensions, etc.
var baseIconH = new GIcon(G_DEFAULT_ICON);
baseIconH.shadow = "http://www.google.com/mapfiles/shadow50.png";
baseIconH.iconSize = new GSize(20, 34);
baseIconH.shadowSize = new GSize(37, 34);
baseIconH.iconAnchor = new GPoint(9, 34);
baseIconH.infoWindowAnchor = new GPoint(9, 2);
    
var numbaseIconH = new GIcon();
numbaseIconH.shadowSize = "";
numbaseIconH.iconSize = new GSize(17, 19);  
numbaseIconH.iconAnchor = new GPoint(0, 19);
numbaseIconH.infoWindowAnchor = new GPoint(15, 1);

function initializeHospitalMap() {
  if (GBrowserIsCompatible()) {
    hMap = new GMap2(document.getElementById("map_canvas_hospital"));
    geocoderH = new GClientGeocoder();
    geocoderH.getLatLng(
      metroCity,
      function(point) {
        if (!point) {alert(address + " not found");} 
        else 
        {                                      
            var marker = new GMarker(point);
            hMap.addOverlay(marker);
            //marker.openInfoWindowHtml("<b>"+metroCity+"</b>");
            GEvent.addListener(marker, "click", function() {
                marker.openInfoWindowHtml("<b>"+metroCity+"</b>");
                hMap.panTo(point);
            });
            hMap.setCenter(point, zoomLevelH);
        }
      }
    );
    
    hMap.setUIToDefault();
    hMap.disableScrollWheelZoom();
  }
}

function createMarkerH(point, index, name, address) 
{
  // Create a lettered icon for this point using our icon class
  //alert(index);
  var iconIndex = index+1;
  var numberedIcon = new GIcon(numbaseIconH);
  numberedIcon.image = "http://images.medicinenet.com/images/googlemap/lightblue" + iconIndex + ".png";
  
  // Set up our GMarkerOptions object
  markerOptions = { icon:numberedIcon };
  var marker = new GMarker(point, markerOptions);
  GEvent.addListener(marker, "click", function() {GoToHospitalMapMarker(index);});
  return marker;
}

function GoToHospitalMapMarker(i)
{
    //alert('index='+i);
    var name = arHospitals[i].split('|')[0];
    var address = arHospitals[i].split('|')[1];
    var lat = arHospitals[i].split('|')[2];
    var lon = arHospitals[i].split('|')[3];
    var phone = arHospitals[i].split('|')[4];
    var point = new GLatLng(lat,lon,11);
    //hMap.setCenter(point, zoomLevelH);
    hMap.panTo(point);
    var offset = new GSize(10,-10);
    var sInfo = "<div class=\"hospitalInfoWindow\"><span class=\"hospital\">" + name + "</span><br/>"+address+"<br/><span class=\"phone\">"+phone+"</span></div>";
    hMap.openInfoWindowHtml(point, sInfo, {pixelOffset:offset});
}

function ShowAllHospitalMarkers()
{
    for(var i=0; i < arHospitals.length; i++)
    {
        var name = arHospitals[i].split('|')[0];
        var address = arHospitals[i].split('|')[1];
        var lat = arHospitals[i].split('|')[2];
        var lon = arHospitals[i].split('|')[3];
        var point = new GLatLng(lat,lon,11);
        hMap.addOverlay(createMarkerH(point, i, name, address));
    }
}

function addGoogleUnloadEvent(func) {
  var oldonunload = window.onunload;
  if (typeof window.onunload != 'function') {
	window.onunload = func;
  } else {
	window.onunload = function() {
	  if (oldonunload) {
		oldonunload();
	  }
	  func();
	}
  }
}

addGoogleUnloadEvent(function() {
  GUnload();  
});

