var map;
var aStrutture = new Array(); // array delle strutture
var latMap = 41.854549;
var lonMap = 12.585651;
var zoomMap = 10;

var icons = [];  

icons["AG"] = new GIcon(G_DEFAULT_ICON, "/images/ico_apartment.gif");  
icons["AG"].iconSize = new GSize(20, 20);
   
icons["BB"] = new GIcon(G_DEFAULT_ICON, "/images/ico_beb.gif");  
icons["BB"].iconSize = new GSize(20, 20);

icons["HO"] = new GIcon(G_DEFAULT_ICON, "/images/ico_hotel.gif");  
icons["HO"].iconSize = new GSize(20, 20);

icons["VI"] = new GIcon(G_DEFAULT_ICON, "/images/ico_villa.gif");  
icons["VI"].iconSize = new GSize(20, 20);

function map_create(elemento) 
{
    map = new GMap2(document.getElementById(elemento));
    
    var mt = this.map.getMapTypes();

        for (var i=0; i<mt.length; i++) {

          mt[i].getMinimumResolution = function() {return 5;}

          mt[i].getMaximumResolution = function() {return 8;}
       }
    
    map.setCenter(new GLatLng(lat, lon), 15, G_NORMAL_MAP);
    map.addControl(new GMapTypeControl());
    map.addControl(new GLargeMapControl());
    
    map.addOverlay(
        createMarker(new GLatLng(lat, lon), 
            "<table cellpadding=\"0\" cellspacing=\"0\">" +
            "<tr><td align=\"center\"><b>" + propertyName + "</b></td>" +
            "<tr><td align=\"center\"><img src=\"" + propertyImage + "\" border=\"0\" width=\"170\" height=\"113\" /></td>" +
            "</table>")
    );   
    
    mapmade = true;
}

function create_search_map(elemento) 
{
    if (GBrowserIsCompatible()) 
    {
        map = new GMap2(document.getElementById("mappa")); 
        
        map.setCenter(new GLatLng(latMap, lonMap), zoomMap, G_NORMAL_MAP);
        map.addControl(new GMapTypeControl());
        map.addControl(new GLargeMapControl());
        
        for (i = 0; i < aStrutture.length; i++)
            map.addOverlay(createMarkerOfArrayElement(i));
        
        mapmade = true;
    }
}

function createMarker(point, description) 
{
    var marker = new GMarker(point);
    
    GEvent.addListener(
        marker, 
        "click", 
        function() { marker.openInfoWindowHtml(description); }
    );
    
    return marker;
}
        
function createMarkerOfArrayElement(arrayElementIndex) 
{
    var marker = new GMarker(new GLatLng(aStrutture[arrayElementIndex]["la"], aStrutture[arrayElementIndex]["lo"]), icons[aStrutture[arrayElementIndex]["t"]]);
    
    GEvent.addListener(
        marker, 
        "click", 
        function() { 
            marker.openInfoWindowHtml(
                "<table cellpadding=\"0\" cellspacing=\"0\">" +
                "<tr><td align=\"center\"><b><a href=\"" + aStrutture[arrayElementIndex]["u"] + "\" target=\"_blank\">" + aStrutture[arrayElementIndex]["n"] + "</a></b></td>" +
                "<tr><td align=\"center\"><img src=\"" + aStrutture[arrayElementIndex]["i"] + "\" border=\"0\" width=\"170\" height=\"113\" /></td>" +
                "</table>"
            ); 
        }
    );
    
    return marker;
}

