var markerClusterer = null;
var map = null;
var imageUrl = 'http://chart.apis.google.com/chart?cht=mm&chs=24x32&chco=FFFFFF,FF0000,000000&ext=.png';

google.maps.event.addDomListener(window, 'load', initialize);

function refreshMap(data) {
    if (markerClusterer) {
        markerClusterer.clearMarkers();
    }

    var markers = [];

    var markerImage = new google.maps.MarkerImage(imageUrl, new google.maps.Size(24, 32));

    for (var i = 0; i < data.length; ++i) {
        var row = data[i];
        
        var latLng = new google.maps.LatLng(row.lat, row.lon)
        var marker = new google.maps.Marker({
            position: latLng,
            draggable: true,
            icon: markerImage
        });

        markers.push(marker);
    }

    markerClusterer = new MarkerClusterer(map, markers, {});
}

function initialize() {
	var mapContainer = jQuery("#map-container");
	/*
	jQuery("#map").css({
		display: 'block',
		width: '600px',
		height: '600px'
	});
	*/
    map = new google.maps.Map(document.getElementById('map'), {
        zoom: 3,
		zoomControl: true,
        center: new google.maps.LatLng(38, -97), //38¡ 0' 0" N / 97¡ 0' 0" W
        mapTypeId: google.maps.MapTypeId.HYBRID
    });
    
    jQuery.getJSON(
        "pledges-list.php",
        function(data) {
            refreshMap(data);
        }
    );
}

function clearClusters(e) {
    e.preventDefault();
    e.stopPropagation();
    markerClusterer.clearMarkers();
}
