function createMarker(marker)
{
    var baseIcon = new GIcon();
    baseIcon.shadow = "http://maps.google.com/mapfiles/shadow50.png";
    baseIcon.iconSize = new GSize(20, 34);
    baseIcon.shadowSize = new GSize(37, 34);
    baseIcon.iconAnchor = new GPoint(9, 34);
    baseIcon.infoWindowAnchor = new GPoint(9, 2);
    baseIcon.infoShadowAnchor = new GPoint(18, 25);
	var letteredIcon = new GIcon(baseIcon);
	letteredIcon.image = "http://maps.google.com/mapfiles/marker" + marker['letter'] + ".png";
	var gmarker = new GMarker(new GLatLng(marker['lat'], marker['lon']), { icon: letteredIcon, title: marker['title'] });
    GEvent.addListener(gmarker, "click", function() 
    {
    	selectStrore(marker['id']);
    });
    
    return gmarker;
}

function initMap() 
{	
    var map = new GMap(document.getElementById('map'));
    
    if (minLat && minLon)
    {
	    var bounds = new GLatLngBounds;
	    bounds.extend(new GLatLng(minLat, minLon));
	    bounds.extend(new GLatLng(maxLat, maxLon));
	    var zoom = map.getBoundsZoomLevel(bounds);
	    //if (zoom > 15) zoom = 15;
	    map.setCenter(bounds.getCenter(), zoom);
    }
    else
    {
    	map.setCenter(new GLatLng(centerLatitude, centerLongitude), startZoom);
    }
    map.addControl(new GSmallMapControl());
    map.addControl(new GMapTypeControl());
      
    manager = new MarkerManager(map);
    	
    var batch = [];
    for (mid in markers)
    {	
       batch.push(createMarker(markers[mid]));                   
    }
    manager.addMarkers(batch, 3, 17);           
    manager.refresh();
}

