﻿
var g_Latitude = "13.743087";
var g_Longitude = "100.547916";
var g_map;
var g_GMapIcon = new Array();

function GetMap() {
    return g_map;
}

function InitMap() {

    // Make map icon
    var baseIcon = new GIcon();
    baseIcon.iconSize = new GSize(30, 45);
    baseIcon.shadowSize = new GSize(45, 45);
    baseIcon.iconAnchor = new GPoint(13, 44);
    baseIcon.infoWindowAnchor = new GPoint(9, 2);
    baseIcon.infoShadowAnchor = new GPoint(18, 25);
    baseIcon.shadow = GetURL("App_Themes/WhereTheme/Images/pin-whereshadow.png");

    var letteredIcon;

    letteredIcon = new GIcon(baseIcon);
    letteredIcon.image = GetURL("App_Themes/WhereTheme/Images/pin-where-eat.png");
    g_GMapIcon.push(letteredIcon);

    letteredIcon = new GIcon(baseIcon);
    letteredIcon.image = GetURL("App_Themes/WhereTheme/Images/pin-where-stay.png");
    g_GMapIcon.push(letteredIcon);

    letteredIcon = new GIcon(baseIcon);
    letteredIcon.image = GetURL("App_Themes/WhereTheme/Images/pin-where-travel.png");
    g_GMapIcon.push(letteredIcon);

    letteredIcon = new GIcon(baseIcon);
    letteredIcon.image = GetURL("App_Themes/WhereTheme/Images/pin-where.png");
    g_GMapIcon.push(letteredIcon);


    // Sub pin
    letteredIcon = new GIcon(baseIcon);
    letteredIcon.image = GetURL("App_Themes/WhereTheme/Images/pin-nearby-where-eat.png");
    g_GMapIcon.push(letteredIcon);

    letteredIcon = new GIcon(baseIcon);
    letteredIcon.image = GetURL("App_Themes/WhereTheme/Images/pin-nearby-where-stay.png");
    g_GMapIcon.push(letteredIcon);

    letteredIcon = new GIcon(baseIcon);
    letteredIcon.image = GetURL("App_Themes/WhereTheme/Images/pin-nearby-where-travel.png");
    g_GMapIcon.push(letteredIcon);

    letteredIcon = new GIcon(baseIcon);
    letteredIcon.image = GetURL("App_Themes/WhereTheme/Images/pin-nearby-where-other.png");
    g_GMapIcon.push(letteredIcon);


    if (GBrowserIsCompatible()) {
        // Create and init map
        g_map = new GMap2(document.getElementById("map_canvas"));
        g_map.setCenter(new GLatLng(g_Latitude, g_Longitude), 15);
        g_map.setUIToDefault();
    }
}

function CreateMarkerToMap(lat, lng, itype) {

    var point = new GLatLng(lat, lng);
    var marker = CreateMapMarker(point, false, itype,9999);
    AddMapOverlay(marker);
}

function CreateSubMarkerToMap(lat, lng, itype, detail) {

    var point = new GLatLng(lat, lng);
    var marker = CreateMapMarker(point, false, itype+4);

    GEvent.addListener(marker, "click", function() {
        marker.openInfoWindowHtml(detail);
    });
    AddMapOverlay(marker);
}


function AddMapOverlay(marker) {
    g_map.addOverlay(marker);
}

function RemoveMapOverlay(marker) {
    if (undefined == marker) g_map.clearOverlays(); 
    else g_map.removeOverlay(marker);
}

function AddMapEvent(strEvent, func) {
    GEvent.addListener(g_map, strEvent, func);
}

function GetMapZoomLevel() {
    return g_map.getZoom();
}

function SetMapCenter(lat, lng,zlevel) {
    g_map.setCenter(new GLatLng(lat, lng), zlevel);
}

// Creates a marker whose info window displays the letter corresponding
// to the given index.
function CreateMapMarker(point, b_draggable, itype, zOrder) {

    if (undefined == zOrder) zOrder = 0;
    if (undefined == b_draggable) b_draggable = false;
    if (undefined == itype) itype = 3;

/*    
    // Create a base icon for all of our markers that specifies the
    // shadow, icon dimensions, etc.
    var baseIcon = new GIcon();
    baseIcon.iconSize = new GSize(30, 45);
    baseIcon.shadowSize = new GSize(45, 45);
    baseIcon.iconAnchor = new GPoint(13, 44);
    baseIcon.infoWindowAnchor = new GPoint(9, 2);
    baseIcon.infoShadowAnchor = new GPoint(18, 25);

    var letteredIcon = new GIcon(baseIcon);
    //http://gmaps-samples.googlecode.com/svn/trunk/markers/

    //letteredIcon.image = "http://gmaps-samples.googlecode.com/svn/trunk/markers/red/blank.png";
    letteredIcon.image = GetURL("App_Themes/WhereTheme/Images/pin-where.png");
    letteredIcon.shadow = GetURL("App_Themes/WhereTheme/Images/pin-whereshadow.png");

    // Set up our GMarkerOptions object
    markerOptions = { icon: letteredIcon, draggable: b_draggable };*/

    markerOptions = { icon: g_GMapIcon[itype], draggable: b_draggable, zIndexProcess: function () { return zOrder; } };
    var marker = new GMarker(point, markerOptions);

    /*GEvent.addListener(marker, "mouseover", function() {
    marker.openInfoWindowHtml(detail);
    });*/
    
    return marker;
}

