﻿//Variables pour l'API de Google Maps
var map;
var geocoder;
var infowindow;
var listMarkers;

/*
Fonction d'initialisation pour l'API de Google Maps
*/
function initialize() {
	//GeoCoder
	geocoder = new google.maps.Geocoder();

	//infowindow
	infowindow = new google.maps.InfoWindow({ content: '' });

	//Création de la map
	var latlng = new google.maps.LatLng(SourisMini_PointsVente_Liste_Regions[0].centre_latitude, SourisMini_PointsVente_Liste_Regions[0].centre_longitude);
	var myOptions = {
		zoom: SourisMini_PointsVente_MapInit_Zoom,
		center: latlng,
		mapTypeId: google.maps.MapTypeId.ROADMAP
	};
	map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

	//Ajout des marqueurs
	listMarkers = new Array();
	for(i = 0; i < SourisMini_PointsVente_Liste_Boutiques.length; i++ )
	{
		var refObj = SourisMini_PointsVente_Liste_Boutiques[i];
		
		SourisMini_PointsVente_Liste_Boutiques[i].AjoutMarqueurLatLng();
		
		/*
		geocoder.geocode( 
			{ 'address': SourisMini_PointsVente_Liste_Boutiques[i].code_postal + ', ca'}, 
			SourisMini_PointsVente_Liste_Boutiques[i].AjoutMarqueurGeocoder
		);
		*/
	}

	//Event zoom
	google.maps.event.addListener(map, 'zoom_changed', function() 
	{
	  //alert('zoom : '+ String(map.zoom) );
	  if( map.zoom >= 10 )
	  {
		Changer_Marqeurs_Icon( 2 );
	  }
	  else
	  {
		Changer_Marqeurs_Icon( 1 );
	  }
	});
}

/*
Fonction qui change les icones des marqueurs en fonction du niveau du zoom
*/
function Changer_Marqeurs_Icon(level)
{
	var image;
	var imagemini;
	
	if( level == 2)
	{
		image = new google.maps.MarkerImage('../repository/site/img/google_map/icon_level_2.png',
			// Largeur du marqueur
			new google.maps.Size(93, 33),
			// Offset de l'image du marqueur
			new google.maps.Point(0,0),
			// Offset du marqueur
			new google.maps.Point(46, 33)
		);
		
		imagemini = new google.maps.MarkerImage('../repository/site/img/google_map/icon_level_2_mini.png',
			// Largeur du marqueur
			new google.maps.Size(93, 33),
			// Offset de l'image du marqueur
			new google.maps.Point(0,0),
			// Offset du marqueur
			new google.maps.Point(46, 33)
		);
	}
	else
	{
		image = new google.maps.MarkerImage('../repository/site/img/google_map/icon_level_1.png',
			// Largeur du marqueur
			new google.maps.Size(47, 17),
			// Offset de l'image du marqueur
			new google.maps.Point(0,0),
			// Offset du marqueur
			new google.maps.Point(23, 17)
		);
		
		imagemini = new google.maps.MarkerImage('../repository/site/img/google_map/icon_level_1_mini.png',
			// Largeur du marqueur
			new google.maps.Size(47, 17),
			// Offset de l'image du marqueur
			new google.maps.Point(0,0),
			// Offset du marqueur
			new google.maps.Point(23, 17)
		);
	}

	// Changement des icones	
	for( i = 0; i < listMarkers.length; i++ )
	{
		if( listMarkers[i].boutique.type == SourisMini_PointsVente_Type_Mini )
		{
			listMarkers[i].setIcon(imagemini);
		}
		else
		{
			listMarkers[i].setIcon(image);
		}
		
		listMarkers[i].setMap(map);
	}

}
