/*
 * Object Javascript visant à simplifier l'utilisation de GoogleMap
 * Une variable ErellisMap est automatiquement créée.
 *
 * Exemple d'utilisation :
 *
 * 	ErellisMap.initialiser(document.getElementById("map"), 49.908842, 4.071722000000001, 13);
 *	ErellisMap.ajouterPoint(49.908842, 4.071722000000001, "<h1>SEML Intégrale</h1>");
 *	ErellisMap.afficher();
 *
 */
var ErellisMap = {	
	
	// Attributs
	
	"cible"			:	null,
	"points"		: 	Array,
	"latitude"		:	0,
	"longitude"		:	0,
	"zoom"			:	13,
	
	// Méthodes
	
	/*
	 * Initialise les valeurs pour la googlemap
	 *
	 * @param cible 
	 * 		La cible pour la google map (par ex. : document.getElementById("map") )
	 * @param latitude 
	 * 		La latitude de centrage de la googlemap
	 * @param longitude
	 *		La longitude de centrage de la googlemap
	 * @param zoom
	 *		Le facteur de zoom de base de la googlemap (13 est une bonne valeur)
	 */
	"initialiser"	:	function(cible, latitude, longitude, zoom){
							
							this.cible = cible;
							this.latitude = latitude;
							this.longitude = longitude;
							this.zoom = zoom;
							this.points = new Array();
							
						},
						
	/*
	 * Ajoute un point sur la carte
	 *
	 * @param latitude 
	 * 		La latitude du nouveau point
	 * @param longitude
	 *		La longitude du nouveau point
	 * @param infobulle
	 *		Le texte a mettre en infobulle (quand on clique sur le marqueur); Mettre à null si inutilisé
	 */
	"ajouterPoint"	:	function(latitude, longitude, infobulle){
							
							var marker = new GMarker(new GLatLng(latitude, longitude));
							this.points.push(marker);
							
							if(infobulle != null){
								
								GEvent.addListener(marker, "click", function(){
									
									marker.openInfoWindowHtml(infobulle);
									
								});
								
							}
							
						},
						
	/*
	 * Finalise l'affichage de la googlemap
	 */
	"afficher"		:	function(){
		
		if (GBrowserIsCompatible()) {
			
			var map = new GMap2(this.cible);
			map.setCenter(new GLatLng(this.latitude, this.longitude), this.zoom);
			map.addControl(new GSmallMapControl());
			map.addControl(new GMapTypeControl());
			
			for(var bcl = 0 ; bcl < this.points.length ; bcl++)
				map.addOverlay(this.points[bcl]);
			
		}else{
			
			alert("Votre navigateur n'est pas compatible avec GoogleMap.");
			
		}
		
	}
					
};
