

	  // this variable will collect the html which will eventualkly be placed in the sidebar
      var sidebar_html = "";
    
      // arrays to hold copies of the markers and html used by the sidebar
      // because the function closure trick doesnt work there
      var gmarkers = [];
      var htmls = [];
      var i = 0;


      // This function picks up the click and opens the corresponding info window
      function myclick(i) {
        gmarkers[i].openInfoWindowHtml(htmls[i]);
      }
function makeMap()
{
	if (GBrowserIsCompatible()) {
    
    function createMarker(point, name, html) {
        var marker = new GMarker(point);
        GEvent.addListener(marker, "click", function() {
          marker.openInfoWindowHtml(html);
        });
		gmarkers[i] = marker;
        htmls[i] = html;
        // add a line to the sidebar html
        sidebar_html += '<a href="javascript:myclick(' + i + ')">' + name + '</a><br>';
        i++;
        return marker;
      }
	 var argArray = new Array();

	
     function getArgs() {
          var query = window.location.search.substring(1);
          var parms = query.split('&');
          for (var i=0; i<parms.length; i++) {
               var pos = parms[i].indexOf('=');
               if (pos > 0) {
                  var key = parms[i].substring(0,pos);
                  var val = parms[i].substring(pos+1);
				   <!-- alert(key + ' ' + val); -->
                  argArray[key] = val;
               }
           }
      }
	 
	 var gotLon=false; 
    if(!readFromFile)
	{
	   getArgs();
	   lat = argArray['lat'] ;
	   lon =  argArray['lon'] ;
	   loc = unescape(argArray['loc']);
	    msg = unescape(argArray['msg']);
	   gotLon = true;
	   if( argArray['zoom'] ){zoom = argArray['zoom']};
	   if ( !lon ) {  lon = -65.000; /*default in the Caribbean somewhere*/ gotLon = false;} 
	   if ( !lat ) { lat = 14.000  ; }
     }else {gotLon = true;}
	 var degrees = 0;
	 var minutes = 0.0;
	 var minuteString = '';
	 var degreeString = '';
	 var latLonArray = latLon.split(/\s+/);
	 var ePos = latLonArray[1].indexOf('S'); 
	 if ( ePos > 0) {  degreeString = '-';  }
	 var latString = degreeString + parseInt(latLonArray[0]);
	 degrees = parseInt(latString);
	 minutes=parseFloat(latLonArray[1]);
	 minutes= minutes/60. ;
	 if(degrees<0 ){lat = degrees - minutes;}else{ lat = degrees + minutes; }
	 
	 ePos = latLonArray[3].indexOf('W'); 
	 degreeString='';
	 if ( ePos > 0) {  degreeString = '-';  }
	 var lonString = degreeString + parseInt(latLonArray[2]);
	 degrees = parseInt(lonString);
	 minutes=parseFloat(latLonArray[3]);
	 minutes= minutes/60. ;
	 if(degrees<0 ){lon = degrees - minutes;}else{ lon = degrees + minutes; }
    var map = new GMap(document.getElementById("map"));
	
    map.addControl(new GSmallMapControl());
	map.addControl(new GMapTypeControl());
	
	map.addControl(new GOverviewMapControl());
    map.setMapType(G_SATELLITE_MAP);
	
	 
	map.centerAndZoom(new GPoint( lon, lat ), 1* zoom ); /*center map on incoming lon, lat */
	var islandArray = new Array(
					  new GPoint(-64.755, 32.31), // var bermudaPoint =
	                  new GPoint(-77.35, 25.08), // var bahamasPoint =
					  new GPoint(-71.137, 21.47), // var turksandcaicosPoint =
					  new GPoint(-66.137, 18.427), // var prPoint =
	                  new GPoint(-64.907, 18.3545), // var usviPoint = 
	                  new GPoint(-64.539, 18.448),//var bviPoint =
	                  new GPoint(-63.050, 18.057), // var stmartinPoint =
					  new GPoint(-62.819, 17.885), // var stbarthsPoint =
	                  new GPoint(-62.726, 17.324),//var stkittsNevisPoint = 
	                  new GPoint(-61.8029, 17.1145), //var antiguaPoint = 
	                  new GPoint(-62.1881, 16.736), //var montserratPoint = 
	                  new GPoint(-61.556, 16.2779), //var guadaloupePoint = 
	                  new GPoint(-61.039, 14.651), //var martiniquePoint = 
	                  new GPoint(-61.342, 15.448), //var dominicaPoint = 
	                  new GPoint(-61.1718, 13.902), //var stLuciaPoint = 
	                  new GPoint(-61.1718, 13.2667 ),// var svgPoint = 
	                  new GPoint(-61.2597, 12.221), //var grenadaPoint = 
	                  new GPoint(-59.859, 13.250), //var barbadosPoint = 
	                  new GPoint(-61.281, 10.401), //var trinidadPoint =
					  new GPoint(-123.97, 49.183), //var Naniamo Vancouver Island =
					  new GPoint(-122.35, 37.8) //var San Francisco Point = 
					  );
	
	var refArray = new Array(
	  new Array("islands/bermuda/bermudamaster.htm", "Bermuda"),
	  new Array("islands/bahamas/bahamasmaster.htm", "The Bahamas"),
	  new Array("islands/turksAndCaicos/turksandcaicosmaster.htm", "Turks and Caicos"),
	  new Array("islands/puertorico/puertoricomaster.htm", "PuertoRico"),
	  new Array("islands/usvi/usvimaster.htm", "US Virgin Islands"),
	  new Array("islands/bvi/bvimaster.htm", "British Virgin Islands"),
	  new Array("islands/saintmartin/saintmartinmaster.htm", "St. Martin/Sint Maarten"), 
	  new Array("islands/stbarths/stbarthsmaster.htm", "Saint Barthelemy"),
	  new Array("islands/stkittsnevis/stkittsnevismaster.htm", "St. Kitts and Nevis"), 
	  new Array("islands/antigua/antiguasmaster.htm", "Antigua and Barbuda"),
	  new Array("islands/montserrat/montserratmaster.htm", "Montserrat"), 
	  new Array("islands/guadeloupe/guadeloupesmaster.htm", "Guadaloupe"),
	  new Array("islands/martinique/martiniquesmaster.htm", "Martinique"), 
	  new Array("islands/dominica/dominicasmaster.htm", "Dominica"), 
	  new Array("islands/stlucia/stluciasmaster.htm", "St. Lucia"),
	  new Array("islands/svg/svgmaster.htm", "St. Vincent and the Grenadines"), 
	  new Array("islands/grenada/grenadamaster.htm", "Grenada"), 
	  new Array("islands/barbados/barbadosmaster.htm", "Barbados"),
	  new Array("islands/trinidad/trinidadmaster.htm", "Trinidad") ,
	  new Array("westcoast/vancouverisland/vancouvermaster.htm", "Naniamo, Vancouver Island") , 
	  new Array("westcoast/sfbay/sfbaymaster.htm", "San Francisco Bay") 
	);
	var islandHtmlArray = new Array(islandArray.length);
	var islandMarkerArray  = new Array(islandArray.length);
	var infoHtml = "";
	for(ilcount = 0; ilcount < islandArray.length; ilcount++)
	{
	   
	   infoHtml = "<a href='" +refArray[ilcount][0] + "'><strong>" + refArray[ilcount][1] + "</strong><p>lat: " + islandArray[ilcount].y + " long: " + islandArray[ilcount].x + "</p></a>";
	   var marker=createMarker(islandArray[ilcount], refArray[ilcount][1], infoHtml);
       map.addOverlay(marker); 
   }
     
    if( gotLon == true )/*we have a lat lon for susie & lance */
	 { /* create custom icon section */
      var icon = new GIcon();
	  var iconHtml = null;
	  if(moving)
	  {
         icon.image = "images/icons/MarkerSailing.png";
         icon.shadow = "images/icons/MarkerSailing.png";
	  }
	  else
	  {
	     icon.image = "images/icons/MarkerDocked.png";
         icon.shadow = "images/icons/MarkerDocked.png";
	      
	  }
      icon.iconSize = new GSize(25, 40);
      icon.shadowSize = new GSize(25, 40);
      icon.iconAnchor = new GPoint(6, 20);
      icon.infoWindowAnchor = new GPoint(5, 1);
	  iconHtml = '<strong>' + loc + '</strong><p>' + msg + '</p><p>Position: ' + latLon + ' given ' + msgDate  +'</p>';
      var curLocMarker = new GMarker(new GPoint( lon, lat ), icon );
	  
	  GEvent.addListener(curLocMarker, "click", function() {curLocMarker.openInfoWindowHtml(iconHtml)});
	  map.addOverlay(curLocMarker);
	  curLocMarker.openInfoWindowHtml(iconHtml);
	 }


    // put the assembled sidebar_html contents into the sidebar div
      document.getElementById("sidebar").innerHTML = sidebar_html;
 }

    else {
      alert("Sorry, the Google Maps API is not compatible with this browser. Please go to accidentalcruiser.com");
}
    
} //end function declaration
    
 
   