﻿
var Map;
var IdListArray;

function pageLoad() {
    var IdListArrayString = $get("ctl00_ContentPlaceHolder1_lblId").value;
    if (IdListArrayString == "") {
        return;
    }
    IdListArray = IdListArrayString.split(",");
    MaineApples.GetMapData.MapData(IdListArray, SetupMap);
}

function SetupMap(result) {
    var Lat = result.CoordinateLocation.Latitude;
    var Lon = result.CoordinateLocation.Longitude;
    var ZoomLevel = result.ZoomLevel;
    var Bounds, sw, ne;
    var IdListArrayString = $get("ctl00_ContentPlaceHolder1_lblId").value;
    if (IdListArrayString == "") {
        return;
    }
    IdListArray = IdListArrayString.split(",");
    Map = new GMap($get("MapDiv"));

    Map.addControl(new GSmallMapControl());
    Map.addControl(new GMapTypeControl());
    Map.setCenter(new GLatLng(Lat, Lon), ZoomLevel);
    Bounds = Map.getBounds();
    sw = Bounds.getSouthWest();
    ne = Bounds.getNorthEast();

    //$get("MapInfo").innerHTML = "SW Point: " + sw + "<br />" + "NE Point: " + ne + "<br />";
    GEvent.addListener(Map, "dragend", MapMoved);
    GEvent.addListener(Map, "zoomend", MapZoomed);
    Map.enableScrollWheelZoom();
    MaineApples.GetMapData.GetPointData(IdListArray, GetDataSuccess);
}
function MapMoved() {
    var Bounds, sw, ne;
    Bounds = Map.getBounds();
    sw = Bounds.getSouthWest();
    ne = Bounds.getNorthEast();
    Map.clearOverlays();
    MaineApples.GetMapData.GetPointData( IdListArray, GetDataSuccess);
}
function MapZoomed(OldZoomLevel, NewZoomLevel) {
    MapMoved();
}
function GetDataSuccess(result) {
    var i = 0;
    $get("MapInfo").innerHTML = "";
    for (i = 0; i < result.length; i++) {
        var pt = new GLatLng(result[i].Location.Latitude,
            result[i].Location.Longitude);
        Map.addOverlay(DisplayPointMarker(pt, result[i].Description));
        //$get("MapInfo").innerHTML += "Point Location - Lat: " +
        //    result[i].Location.Latitude + " Lon: " + result[i].Location.Longitude + "<br />";
    }
}

function DisplayPointMarker(point, Description) {
    var gmrker = new GMarker(point);
    var Message = Description
    GEvent.addListener(gmrker, "click", function() {
        Map.openInfoWindowHtml(point, Message);
    });
    return (gmrker);
}