﻿//google maps

var Map = null;
var Zoom = 13;
var MapError = false;
var MapInited = false;
var MapMarker = null;
var Geocoder = null;

function initmap(W, H, MarkerText, MarkerDrag, ZOOM) {
    if (ZOOM != null)
        Zoom = ZOOM;
    if (MapInited || MapError)
        return;
    try {
        if (GBrowserIsCompatible()) {
            var _oMap = GEID("map");
            show(_oMap);
            var _opts = { size: new GSize(W, H) };

            Map = new GMap2(_oMap, _opts);
            Map.addControl(new GSmallMapControl());
            Geocoder = new GClientGeocoder();

            Map.setCenter(new GLatLng(SavedLat, SavedLng), Zoom);
            Map.clearOverlays();
            if (isdefined("MarkerArray")) {
                ShowMarkerArray();
            }
            if (!isdefined("SUPPRESSMARKER")) {
                MapMarker = new GMarker(new GLatLng(SavedLat, SavedLng), { draggable: MarkerDrag });
                if (MarkerDrag) {
                    GEvent.addListener(MapMarker, "dragstart", function() { Map.closeInfoWindow(); });
                    GEvent.addListener(MapMarker, "dragend", function() { SavedLat = MapMarker.getPoint().lat().toString(); SavedLng = MapMarker.getPoint().lng().toString(); SITE.CHANGELOCATION(); });
                }
                Map.addOverlay(MapMarker);
                if (MarkerText != "")
                    MapMarker.openInfoWindow(MarkerText);
            }

            MapInited = true;
        }
    }
    catch (e) {
        MapError = true;
        alert(e);
    }
}
function ShowMarkerArray() {
    if (MarkerArray == "")
        return;
    var _arr = MarkerArray.split('|');
    var baseIcon = new GIcon();
    baseIcon.shadow = null;
    baseIcon.iconSize = new GSize(19, 23);
    baseIcon.iconAnchor = new GPoint(10, 20);
    baseIcon.infoWindowAnchor = new GPoint(10, 20);
    for (var i = 0; i < _arr.length; i++) {
        var t = _arr[i].split(',');

        var icon = new GIcon(baseIcon);
        if (isdefined("CLIENTMARKERS"))
            icon.image = "/img/c.png";
        else
            icon.image = "/img/t.png";
        var _mm = new GMarker(new GLatLng(parseFloat(t[0]), parseFloat(t[1])), icon);
        _mm.HTMLElementID = t[2];
        GEvent.addListener(_mm, "click", function() { ShowMapProfile(this); });
        Map.addOverlay(_mm);
    }
}
function ShowMapProfile(o) {
    o.openInfoWindow(GEID(o.HTMLElementID).innerHTML);
}
