﻿function initialize() {

    var myLatlng = new google.maps.LatLng(54.622978, -2.592773);
    var myOptions = {
        zoom: 5,
        center: myLatlng,
        mapTypeId: google.maps.MapTypeId.TERRAIN 
    }
    var map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

    setMarkers(map, stores);
}

function setMarkers(map, locations) {
    // Add markers to the map

    // Marker sizes are expressed as a Size of X,Y where the origin of the image (0,0) is located in the top left of the image.
    // Origins, anchor positions and coordinates of the marker increase in the X direction to the right and in the Y direction down.

    var image = new google.maps.MarkerImage('/images/s-marker.png',
        // This marker is 20 pixels wide by 32 pixels tall.
          new google.maps.Size(20, 32),
        // The origin for this image is 0,0.
          new google.maps.Point(0, 0),
        // The anchor for this image is the base of the flagpole at 0,32.
          new google.maps.Point(9, 32));

    var shadow = new google.maps.MarkerImage('/images/s-marker-shadow.png',
        // The shadow image is larger in the horizontal dimension while the position and offset are the same as for the main image.
          new google.maps.Size(37, 32),
          new google.maps.Point(0, 0),
          new google.maps.Point(7, 32));

    var shape = {
        // Shapes define the clickable region of the icon.
        // The type defines an HTML &lt;area&gt; element 'poly' which traces out a polygon as a series of X,Y points.
        // The final coordinate closes the poly by connecting to the first coordinate.
            coord: [1, 1, 1, 20, 18, 20, 18, 1],
            type: 'poly'
        };

    var infowindow = new google.maps.InfoWindow({
        // maxWidth: 200
    });

    for (var i = 0; i < locations.length; i++) {
        addMarker(map, locations[i], image, shadow, shape, infowindow);
    }

}

function addMarker(map, store, image, shadow, shape, infowindow) {
    var myLatLng = new google.maps.LatLng(store[1], store[2]);
    var marker = new google.maps.Marker({
        position: myLatLng,
        map: map,
        shadow: shadow,
        icon: image,
        shape: shape,
        title: store[0],
        zIndex: store[3]
    });
    
    //Bind infowindow to this marker. Text(contentString) is set exclusively for this marker. 
    google.maps.event.addListener(marker, 'click', function() {
        infowindow.set_content( store[4] ); //this is where magic happens. 
        infowindow.open(map,marker); 
    }); 

}


