﻿var map;
//var geocoder = null;


function LoadMap(Lat, Long, sDescrizione, tipo, bShowBalloon) {
    if (GBrowserIsCompatible() && document.getElementById("divMap") != null) {
        map = new GMap2(document.getElementById("divMap"));

        //geocoder = new GClientGeocoder();
        if (Lat == 0 && Long == 0)
            showWholeMarche();
        else
            showPoint(Lat, Long, sDescrizione, tipo, bShowBalloon);

        map.addControl(new GLargeMapControl());
        map.addControl(new GMapTypeControl())
    }
}


function showPoint(Lat, Long, sDescrizione, tipo, bShowBalloon) {
      //var centerPoint = new GLatLng(43.5703, 13.5172);
      var centerPoint = new GLatLng(Lat, Long);
      map.setCenter(centerPoint, 9);

      var myIcon = GetIconType(tipo);     
      var marker = new GMarker(centerPoint, { icon: myIcon });
      map.addOverlay(marker);

      var html = sDescrizione;
      if (bShowBalloon)
        marker.openInfoWindowHtml(sDescrizione);
      GEvent.addListener(marker, "click", function() { marker.openInfoWindowHtml(html); });
}

//visualizzazione di default per mostrare tutte le Marche
function showWholeMarche() {
    var centerPoint = new GLatLng(43.2703, 13.0172);
    map.setCenter(centerPoint, 8);
}


function AddPoint(Lat, Long, sDescrizione, tipo) {
    var Point = new GLatLng(Lat, Long);

    var myIcon = GetIconType(tipo);
    var marker = new GMarker(Point, { icon: myIcon });
    map.addOverlay(marker);

    var html = sDescrizione;
    //marker.openInfoWindowHtml(sDescrizione);
    GEvent.addListener(marker, "click", function() { marker.openInfoWindowHtml(html); });
}


function GetIconType(tipo) {
    var custIcon = new GIcon(G_DEFAULT_ICON);
    custIcon.iconSize = new GSize(24, 24);
    custIcon.shadowSize = new GSize(0, 0);
    custIcon.iconAnchor = new GPoint(0, 0);
    
    var myIcon = new GIcon(custIcon);
    switch (tipo) {
        case "Y":  //property / country home
            myIcon.image = "/DesktopModules/GoogleMapsViewer/Images/Y.png";
            myIcon.printImage = "/DesktopModules/GoogleMapsViewer/Images/H.png";
            break;
        case "T":  //ristorante (da creare ancora come viewas, io c'ho messo T per ora)
            myIcon.image = "/DesktopModules/GoogleMapsViewer/Images/T.png";
            myIcon.printImage = "/DesktopModules/GoogleMapsViewer/Images/H.png";
            break;
        case "F":
            myIcon.image = "/DesktopModules/GoogleMapsViewer/Images/F.png";
            myIcon.printImage = "/DesktopModules/GoogleMapsViewer/Images/H.png";
            break;
        case "H":  //accommodation
            myIcon.image = "/DesktopModules/GoogleMapsViewer/Images/H.png";
            myIcon.printImage = "/DesktopModules/GoogleMapsViewer/Images/H.png";
            break;
        case "R": //risorsa
            myIcon.image = "/DesktopModules/GoogleMapsViewer/Images/R.png";
            myIcon.printImage = "/DesktopModules/GoogleMapsViewer/Images/R.png";
            break;
        case "P":      //place
        default:
            myIcon.image = "/DesktopModules/GoogleMapsViewer/Images/pallino.png";
            myIcon.printImage = "/DesktopModules/GoogleMapsViewer/Images/pallino.png";
            break;
    }

    return myIcon;
}

