﻿var map;
var baseIcon;
var markerManager;
var markerClusterer = null;
var batch = [];

function initializeGMap() {
    if (GBrowserIsCompatible()) {
        map = new GMap2(document.getElementById('map_canvas'));
        map.addControl(new GMapTypeControl());
        map.addControl(new GLargeMapControl());
        map.setCenter(new GLatLng(15, 18), 13);
        map.setZoom(2)
    }
}

function initializeGMapSmall() {
    if (GBrowserIsCompatible()) {
        map = new GMap2(document.getElementById('map_canvas_small'));
        map.addControl(new GMapTypeControl());
        map.addControl(new GLargeMapControl());
        map.setCenter(new GLatLng(15, 18), 13);
        map.setZoom(1)
    }
}

function CreateBaseIcon() {
    baseIcon = new GIcon(G_DEFAULT_ICON);
    baseIcon.shadow = "images/shadow50.png";
    //baseIcon.shadow = "images/DobMarkerShadow.png";
    baseIcon.iconSize = new GSize(25, 34);
    baseIcon.shadowSize = new GSize(50, 34);
    baseIcon.iconAnchor = new GPoint(2, 34);
    baseIcon.infoWindowAnchor = new GPoint(9, 2);
}
function CreateBaseIcon2() {
    baseIcon = new GIcon(G_DEFAULT_ICON);
    baseIcon.shadow = "images/shadow50.png";
    //baseIcon.shadow = "images/DobMarkerShadow.png";
    baseIcon.iconSize = new GSize(18, 25);
    baseIcon.shadowSize = new GSize(35, 25);
    baseIcon.iconAnchor = new GPoint(2, 25);
    baseIcon.infoWindowAnchor = new GPoint(9, 2);
}

// Creates a marker whose info window displays the letter corresponding
// to the given index.
function createCustomMarker(point, markerImageID, sInfo) {
    var markerImage;
    switch(markerImageID)
    {
        case 1:
            markerImage = "DobMarker.png";
            break;
        case 2:
            markerImage = "DobMarkerSmall.png";
            break;
        default:
            markerImage = "DobMarker.png";
    }
    var customIcon = new GIcon(baseIcon);
    customIcon.image = "images/" + markerImage;
    
    // Set up our GMarkerOptions object
    markerOptions = { icon: customIcon };
    var marker = new GMarker(point, markerOptions);
    GEvent.addListener(marker, "click", function() {
        marker.openInfoWindowHtml(sInfo);
    });
    return marker;
}

function nRandomMarkers(iCount) {
    var batch = [];
    var bounds = map.getBounds();
    var southWest = bounds.getSouthWest();
    var northEast = bounds.getNorthEast();
    var lngSpan = northEast.lng() - southWest.lng();
    var latSpan = northEast.lat() - southWest.lat();
    var point;
    var marker;
    CreateBaseIcon2();
    for (var i = 0; i < iCount; i++) {
        point = new GLatLng(southWest.lat() + latSpan * Math.random(), southWest.lng() + lngSpan * Math.random());
        //map.addOverlay(new GMarker(point));
        marker = createCustomMarker(point, "DobMarker.png", "Marker <b>" + i + "</b><br> Sacramento, CA<br><a href=\"SendMail.aspx\">Send Email</a>")
        //map.addOverlay(marker);
        batch.push(marker);
    }
    point = new GLatLng(southWest.lat() + latSpan * 0.5, southWest.lng() + lngSpan * 0.5);
    //map.addOverlay(new GMarker(point));
    marker = createCustomMarker(point, "DobMarker.png", "")
    //map.addOverlay(marker);
    batch.push(marker);
    //map.disableDragging()
    return batch;
}

function PanTo() {
    var bounds = map.getBounds();
    var southWest = bounds.getSouthWest();
    var northEast = bounds.getNorthEast();
    var lngSpan = northEast.lng() - southWest.lng();
    var latSpan = northEast.lat() - southWest.lat();
    var point;
    point = new GLatLng(southWest.lat() + latSpan * Math.random(), southWest.lng() + lngSpan * Math.random());
    //map.addOverlay(new GMarker(point));
    //point = new GLatLng(southWest.lat() + latSpan * 0.5, southWest.lng() + lngSpan * 0.5);
    //map.addOverlay(new GMarker(point));
    //map.disableDragging()

    map.panTo(point);
}

var styles = [[{
    url: 'images/people35.png',
    height: 35,
    width: 35,
    opt_anchor: [16, 0],
    opt_textColor: '#FF00FF'
},
      {
          url: 'images/people45.png',
          height: 45,
          width: 45,
          opt_anchor: [24, 0],
          opt_textColor: '#FF0000'
      },
      {
          url: 'images/people55.png',
          height: 55,
          width: 55,
          opt_anchor: [32, 0]
}],
      [{
          url: 'images/conv30.png',
          height: 27,
          width: 30,
          anchor: [3, 0],
          textColor: '#FF00FF'
      },
      {
          url: 'images/conv40.png',
          height: 36,
          width: 40,
          opt_anchor: [6, 0],
          opt_textColor: '#FF0000'
      },
      {
          url: 'images/conv50.png',
          width: 50,
          height: 45,
          opt_anchor: [8, 0]
}],
      [{
          url: 'images/heart30.png',
          height: 26,
          width: 30,
          opt_anchor: [4, 0],
          opt_textColor: '#FF00FF'
      },
      {
          url: 'images/heart40.png',
          height: 35,
          width: 40,
          opt_anchor: [8, 0],
          opt_textColor: '#FF0000'
      },
      {
          url: 'images/heart50.png',
          width: 50,
          height: 44,
          opt_anchor: [12, 0]
}]];