/*
22-02-2010 StaySail
Script for GoogleMaps
*/
	
//<![CDATA[

    if (GBrowserIsCompatible()) {
//Icon aanpassing
var baseIcon = new GIcon();
          baseIcon.iconSize=new GSize(32,32);
          baseIcon.shadowSize=new GSize(56,32);
          baseIcon.iconAnchor=new GPoint(16,32);
          baseIcon.infoWindowAnchor=new GPoint(16,0);
          
var itdbed = "http://maps.google.com/mapfiles/kml/pal2/icon28.png"
var itdbeds = "http://maps.google.com/mapfiles/kml/pal2/icon28s.png"
var itdalt =  "http://overnight.staysail.biz/images/bbed.png"
var itdalts = "http://overnight.staysail.biz/images/alticons.png"
var itdcam =  "http://overnight.staysail.biz/images/camping.png"
var itdcamb =  "http://overnight.staysail.biz/images/campingb.png"
var itdcams = "http://overnight.staysail.biz/images/campings.png"


      var gmarkers = [];
      var i = 0;


      // A function to create the marker and set up the event window
      function createMarker(point,name,html,icon) {
        var marker = new GMarker(point, icon);
      // === store the name so that the tooltip function can use it ===
        marker.tooltip = '<div class="tooltip" STYLE="color: black; font-size: 16px; font-family: serif; background-color: #FFFFFF"><nobr>'+name+'<\/nobr><\/div>';

		GEvent.addListener(marker, "click", function() {marker.openInfoWindowHtml(html);
        });
	  //  ======  The new marker "mouseover" and "mouseout" listeners  ======
        GEvent.addListener(marker,"mouseover", function() {
          showTooltip(marker);
        });        
        GEvent.addListener(marker,"mouseout", function() {
		tooltip.style.visibility="hidden"
        });

        gmarkers[i] = marker;
        i++;
        return marker;
      }


      // This function picks up the click and opens the corresponding info window
      function myclick(i) {
        GEvent.trigger(gmarkers[i],"click");
      }
      // ====== This function displays the tooltip ======
      // it can be called from an icon mousover or a side_bar mouseover
		function showTooltip(marker) {
		tooltip.innerHTML = marker.tooltip;
		var point=map.getCurrentMapType().getProjection().fromLatLngToPixel(map.fromDivPixelToLatLng(new GPoint(0,0),true),map.getZoom());
		var offset=map.getCurrentMapType().getProjection().fromLatLngToPixel(marker.getPoint(),map.getZoom());
		var anchor=marker.getIcon().iconAnchor;
		var width=marker.getIcon().iconSize.width;
		var height=tooltip.clientHeight;
		var pos = new GControlPosition(G_ANCHOR_TOP_LEFT, new GSize(offset.x - point.x - anchor.x + width, offset.y - point.y -anchor.y -height)); 
		pos.apply(tooltip);
		tooltip.style.visibility="visible";
		  }


	  // create the map
      var map = new GMap2(document.getElementById("map"));
      map.addControl(new GLargeMapControl());
      map.addControl(new GMapTypeControl());
      map.setCenter(new GLatLng(54.97649, 12.3), 11);

      // ====== set up marker mouseover tooltip div ======
      var tooltip = document.createElement("div");
      map.getPane(G_MAP_FLOAT_PANE).appendChild(tooltip);
      tooltip.style.visibility="hidden";


	 // Offsetlines for Svensmarke
	 var polylineSvensmarkeGaard = new GPolyline([
	 new GLatLng(54.97685, 12.320000),
	 new GLatLng(54.97685, 12.312151)
												], "#FF0000", 2);
	 map.addOverlay(polylineSvensmarkeGaard);


      // Read the data from example.xml
      GDownloadUrl("bandbmapmoen.xml", function(doc) {
        var xmlDoc = GXml.parse(doc);
        // obtain the array of markers and loop through it
        var markers = xmlDoc.documentElement.getElementsByTagName("marker");
          
        for (var i = 0; i < markers.length; i++) {
          // obtain the attribues of each marker
          var lat = parseFloat(markers[i].getAttribute("lat"));
          var lng = parseFloat(markers[i].getAttribute("lng"));
          var point = new GLatLng(lat,lng);
          var html = markers[i].getAttribute("html");
          var label = markers[i].getAttribute("label");
		  var micon = markers[i].getAttribute("mi");
		  if (micon == "bed")
		  {		  var icontd = new GIcon(baseIcon, itdbed, null, itdbeds);
		  }
		  if (micon == "alt")
		  {		  var icontd = new GIcon(baseIcon, itdalt, null, itdalts);
		  }
		  if (micon == "cam")
		  {		  var icontd = new GIcon(baseIcon, itdcam, null, itdcams);
		  }
		  if (micon == "cab")
		  {		  var icontd = new GIcon(baseIcon, itdcamb, null, itdcams);
		  }
          // create the marker
          var marker = createMarker(point,label,html,icontd);
          map.addOverlay(marker);
        }
      });
    }
else {
      alert("Sorry, the Google Maps API is not compatible with this browser");
    }

    //]]>

