  
/*
 * Affichage de la carte des participants du site surveillance grippe Montréal
 */

	  var styles = [];
      var map = null;
      var markers = [];
      var markerClusterer = null;
      var latitude = null, longitude=null;
      function initialize() {
        if(GBrowserIsCompatible()) {
          	map = new GMap2(document.getElementById('map'), {mapTypes:[G_NORMAL_MAP,G_PHYSICAL_MAP,G_SATELLITE_MAP,G_HYBRID_MAP]});

          	var zoomMini = 7;
          	var zoomMaxi = 13;
          	var typeCarte = map.getMapTypes();
          	/* ... On fait une boucle sur chacun des types de carte possibles pour la carte nommée "maCarte" ... */
          	for (var i=0; i<typeCarte.length; i++) {
          		typeCarte[i].getMinimumResolution = function() {return zoomMini;};
          		typeCarte[i].getMaximumResolution = function() {return zoomMaxi;};
          	}          	
          // centrage de la carte sur le "centre de montréal"   
          map.setCenter(new GLatLng(45.55156358906749, -73.70),10);
          map.addControl(new GLargeMapControl());
          map.addControl(new GMapTypeControl());
          var icon = new GIcon(G_DEFAULT_ICON);
          
          icon.image = "img/red-pushpin.png";
          icon.image = "img/man.png";
          icon.shadow = "img/pushpin_shadow.png";
          icon.shadow = "img/man_shadow.png";
          icon.iconSize = new GSize(32, 32);
          icon.shadowSize = new GSize(59, 32);
                              
          //icon.image 
          var cpt =data.count; 
          for (var i = 0; i < cpt; ++i) {
            var latlng = new GLatLng(data.participants[i].latitude, data.participants[i].longitude);
            var marker = new GMarker(latlng, {icon: icon});
            markers.push(marker);
          }
          refreshMap();
        }
      }
      
      function refreshMap() {
        if (markerClusterer != null) {
          markerClusterer.clearMarkers();
        }
        markerClusterer = new MarkerClusterer(map, markers, {maxZoom: null, gridSize: null, styles: styles[null]});
      }
      
      function RecupererLatLon() {

    		adresse = document.getElementById("code_postal").value;
    		if (GBrowserIsCompatible()) {
    			geocoder = new GClientGeocoder();    			  
    			geocoder.getLatLng(adresse, function(point) {
    				document.getElementById("latitude").value=point.lat(); 
    				document.getElementById("longitude").value=point.lng();
    			});
    		}
    		
    		if (adresse.length>=3) 
    			testerCodePostal(adresse);
    		if (adresse.length==0)
    			document.getElementById('erreur').innerHTML = '&nbsp;&nbsp;';
    	}
      
      function RecupererLatLonIns(nom) {

  		adresse = document.getElementById(nom).value;
  		if (GBrowserIsCompatible()) {
  			geocoder = new GClientGeocoder();    			  
  			geocoder.getLatLng(adresse, function(point) {
  				document.getElementById("latitude").value=point.lat(); 
  				document.getElementById("longitude").value=point.lng();
  			});
  		}
  		
  		if (adresse.length>=3) 
  			testerCodePostal3(adresse);
  		if (adresse.length==0)
  			document.getElementById('erreur').innerHTML = '&nbsp;&nbsp;';
  	}
      
       function testerCodePostal(adr) {
    	   
    	     //create regular expression for testing
    	     reg_exp_pcode = new RegExp("^[a-zA-Z]{1}[0-9]{1}[a-zA-Z]{1}(\-| |){1}[0-9]{1}[a-zA-Z]{1}[0-9]{1}$");
    	     
    	     if(!reg_exp_pcode.test(adr))
    	     {
    	    	 document.getElementById('erreur').innerHTML = '&nbsp;&nbsp;';
    	    	 document.getElementById('erreur').innerHTML += message_erreur;
    	    	 return(false);
    	    }
    	     else
    	    	 document.getElementById('erreur').innerHTML = '';
    		return(true); 
       }
       
       function testerCodePostal3(adr) {
    	   
  	     //create regular expression for testing
  	     reg_exp_pcode = new RegExp("^[a-zA-Z]{1}[0-9]{1}[a-zA-Z]{1}$");
  	     
  	     if(!reg_exp_pcode.test(adr))
  	     {
  	    	 document.getElementById('erreur2').innerHTML = '&nbsp;&nbsp;';
  	    	 document.getElementById('erreur2').innerHTML += message_erreur;
  	    	 return(false);
  	    }
  	     else
  	    	 document.getElementById('erreur2').innerHTML = '';
  		return(true); 
     }
      