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.916415, -0.239322);
		map.setCenter(center , 14);
	
		PlacePoint();
	}
}

function affichetypegm(name,value) {
	name = name.replace("afficher_type_","");
	
	for(var i=0;i<markers.length;i++)
	{
		if(markers[i].typegm == name)
		{
			if(value==false)
			{
				markers[i].hide();
			}
			else
				markers[i].show();
		}
	}
}

function createMarker(point, n, vignette,type) {
	icon = new GIcon();
	
	if(vignette!="")
	{
		icon.image = vignette;
	}
	else
	{
		icon.image = "/typo3conf/ext/anet_otlannuaire/res/gm-ico-blank.png";
	}
	
	icon.iconSize = new GSize(29,31);
	icon.iconAnchor = new GPoint(0,0);
	icon.infoWindowAnchor = new GPoint(18,0);
	var marker = new GMarker(point,icon);
	
	marker.typegm = type;

	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],GMpoints[i][3]);  
		map.addOverlay(markerTemp);
	}
	
	if(point_unique==1)
	{
		map.setCenter(markers[0].getPoint(),17); 
		markers[0].openInfoWindowHtml(document.getElementById("infohtml_0").innerHTML);
	}
	
	if(from_annuaire==1)
	{
		map.setCenter(markers[0].getPoint(),17); 
	}
	
	geocoder = new GClientGeocoder();
}

function afficher(idx) {
	map.setCenter(markers[idx].getPoint(),1); 
	markers[idx].openInfoWindowHtml(document.getElementById("infohtml_"+idx).innerHTML);
}

function chercheradresse() {
	smallAddress = document.getElementById("adresse").value;
	address = smallAddress+", 33500 Libourne, FRANCE";
	
	if (geocoder) {
	    geocoder.getLatLng(
	    address,
	    function(point) {
	        if (!point) {
				alert("L'adresse \"" + smallAddress + "\" est introuvable.");
		        } else {
					map.setCenter(point, 17);
		            var center = map.getCenter();
				}
		    }
		);
	}
}