var map;
var GMpoints = new Array();
var GMpointsI = 0;
var points;
var markers = new Array();
var point_unique = 0;
var geocoder;

function load() {
	doLoad();
}

function doLoad() {

	if (GBrowserIsCompatible()) {
		container = document.getElementById("mapDiv");
		map = new GMap2(container);

		map.addControl(new GMapTypeControl());
		var pos = new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(10,30));
		map.addControl(new GScaleControl(), pos); 
		
		var pos = new GControlPosition(G_ANCHOR_BOTTOM_RIGHT, new GSize(10,150));
		map.addControl(new GSmallMapControl(), pos); 
		
		map.addControl(new GOverviewMapControl);
	
		var center = new GLatLng(44.896012, -0.155525);
		map.setCenter(center , 14);
		
		PlacePoint();
	}
}

function createMarker(point, n, vignette) {

	icon = new GIcon();
	
	if(vignette!="")
	{
		icon.image = vignette;
	}
	else
	{
		icon.image = "/typo3conf/ext/anet_annuaire/res/gm-ico-blank.png";
	}
	
	icon.iconSize = new GSize(26,30);
	icon.iconAnchor = new GPoint(0,0);
	icon.infoWindowAnchor = new GPoint(18,0);
	var marker = new GMarker(point,icon);

	GEvent.addListener(marker, "click", function() { 
		map.setCenter(marker.getPoint(),map.getZoom());
		marker.openInfoWindowHtml(document.getElementById("infohtml_"+n).innerHTML); 
	});
	markers[n] = marker;
	return marker;
}

function PlacePoint()
{
	for(var i=0;i<GMpoints.length;i++)
	{
		var center = new GLatLng(GMpoints[i][0], GMpoints[i][1]);
		var markerTemp = new createMarker(center,i,GMpoints[i][2]);  
		map.addOverlay(markerTemp);
	}
	
	if(point_unique==1)
	{
		map.setCenter(markers[0].getPoint(),17); 
		markers[0].openInfoWindowHtml(document.getElementById("infohtml_0").innerHTML);
	}
	
	geocoder = new GClientGeocoder();
}

function afficher(idx) {
	map.setCenter(markers[idx].getPoint(),16); 
	markers[idx].openInfoWindowHtml(document.getElementById("infohtml_"+idx).innerHTML);
}

function chercheradresse() {
	address = document.getElementById("addresse").value+", 33330 SAINT EMILION, FRANCE";
	
	if (geocoder) {
	    geocoder.getLatLng(
	    address,
	    function(point) {
	        if (!point) {
				alert("L'adresse : " + address + " introuvable");
		        } else {
					map.setCenter(point, 17);
		            var center = map.getCenter();
				}
		    }
		);
	}
}


