/**
 * -----------------------------------------------------------------------------
 * Script lancé automatiquement à la fin du chargement de la page.
 * @author Dreamclic <contact@dreamclic.com>
 * @version 3.0 - oct 2010
 * -----------------------------------------------------------------------------
 */

// Inclusion de l'API Google Maps V3
// Le paramètre sensor=false signifie que l'application ne cherche à pas localiser l'utilisateur
include('http://maps.google.com/maps/api/js?sensor=false');

/**
 * Création d'un carte basée sur l'API GoggleMaps.
 * @param idElement id de l'élément HTML servant de conteneur d'affichage de la carte
 * @param legendeMarqueur texte affiché dans le marqueur
 * @param latitude latitude du marqueur et de la vue par défaut
 * @param longitude longitude du marqueur et de la vue par défaut
 * @param facteurZoom facteur de zoom de la vue par défaut
 * @param mapType type de carte {G_NORMAL_MAP, G_SATELLITE_MAP, G_HYBRID_MAP}
 * @return retourne l'instance de la cate crée pour pouvoir la customizer après création
 */
function googleMaps_createMap(idElement,legendeMarqueur,latitude,longitude,facteurZoom,mapType){
	if(document.getElementById(idElement)==null){
		return null;
	}
	switch(mapType) {
		case 'ROADMAP' :
			mapTypeId = google.maps.MapTypeId.ROADMAP;
		break;
		case 'SATELLITE' :
			mapTypeId = google.maps.MapTypeId.SATELLITE;
		break;
		case 'HYBRID' :
			mapTypeId = google.maps.MapTypeId.HYBRID;
		break;
		case 'TERRAIN' :
			mapTypeId = google.maps.MapTypeId.TERRAIN;
		break;
	}
    var myOptions = {
      zoom: facteurZoom,
      center:  new google.maps.LatLng(latitude, longitude),
      mapTypeId: mapTypeId
    };
	 var map = new google.maps.Map(document.getElementById(idElement), myOptions);
	//Ajout d'un marqueur avec une légende
	if(legendeMarqueur!=null){
		googleMaps_addMarker(map,latitude,longitude,legendeMarqueur);
	}   
	return map;
}

/**
 * Ajoute un marqueur GoggleMaps.
 * @param map carte sur laquelle faire l'ajout
 * @param latitude coordonnées du marqueur
 * @param longitude coordonnées du marqueur
 * @param text texte affiché dans le marqueur
 * @return retourne le marqueur
 */
function googleMaps_addMarker(map,latitude,longitude,text){
	var point = new google.maps.LatLng(latitude,longitude);
	var marker = new google.maps.Marker({
		position: point,
		map: map
	});
	var myWindowOptions = {
		content: text
	};
	var myInfoWindow = new google.maps.InfoWindow(myWindowOptions);
	google.maps.event.addListener(marker, 'click', function() {
		myInfoWindow.open(map,marker);
	});
	return marker;
}
