var map;
var cluster;
var myRegion;
var myLat = 43.068887774169624;
var myLng = -15.46875;
var myType = G_PHYSICAL_MAP;
var myZoom = 1;

function initMap() 
{
    if(GBrowserIsCompatible()) 
    {
        map = new GMap2(document.getElementById("map_canvas"));        
        map.addMapType(G_PHYSICAL_MAP);
        //map.addControl(new GLargeMapControl());
        //map.addControl(new GHierarchicalMapTypeControl());
		map.setUIToDefault();
        map.enableContinuousZoom();
        map.enableScrollWheelZoom();
		
		// Markers
		var marker, markersArray=[];
			
		for(var i=0; i<json.length; i++) 
		{
			marker=newMarker(new GLatLng(json[i].lat, json[i].lng), json[i].id, json[i].t);
			markersArray.push(marker);
		}
		
		cluster=new ClusterMarker(map, { markers:markersArray } );
		cluster.fitMapToMarkers();
		cluster.clusterMarkerTitle='Zoom in to see more properties in this area';		
		//cluster.clusterMarkerClick=function(args){zoomByOne(args)};
		cluster.clusteringEnabled=false;
		cluster.intersectPadding=10;
		
		// Setup
        map.setCenter(new GLatLng(myLat, myLng), 1);
        map.setMapType(myType);
        map.setZoom(myZoom);
		
		//	Save initial view for center button
		map.savePosition();
    }
}

function newMarker(markerLocation, id, pTitle) 
{
	var marker=new GMarker(markerLocation, {title: "Click To Preview: " + pTitle});
	
	GEvent.addListener(marker, 'click', function() 
	{
		var info = '';
		info  = '<div align="center" style="height:150px">';
		info += '<strong>' + pTitle + '</strong><br>';
		info += '<a href="/' + id + '"><img src=/art/markerImage.php?lid=' + id + '&region=' + myRegion + ' border=0></a><br>';
		info += '<a href="/' + id + '">(View This Property)</a>';
		info += '</div>';
		
		marker.openInfoWindowHtml(info);
	});
	
	return marker;
}

function zoomByOne(args)
{
	var mZoom = map.getZoom()+1;
	var mCenter = args.clusterMarker.getLatLng();
	map.setCenter(mCenter, mZoom);
}

function showMapInfo()
{
	var mCenter = center = map.getCenter();
	var mLat = mCenter.y.toFixed(6);
	var mLng = mCenter.x.toFixed(6);	
	var mZoom = map.getZoom();
	
    document.getElementById("showMapLat").innerHTML = mLat;
    document.getElementById("showMapLng").innerHTML = mLng;
    document.getElementById("showMapZoom").innerHTML = mZoom;
}
