//<![CDATA[

/*
 * Map de la page d'accueil permettant de sélectionner un point de location
 */
var geocoder;
var map;
var xml;
var markers;
function initialize()
{

    		   
    	
        
	
	
}
function load_map_loca_loge() {
	geocoder = new google.maps.Geocoder();

   var latlng = new google.maps.LatLng(48.879167148960214, 2.373046875);
    var myOptions = {
        zoom: 4,
		scrollwheel: false,
        center: latlng,
        mapTypeId: google.maps.MapTypeId.ROADMAP
    };
    map = new google.maps.Map(document.getElementById("map_loca"), myOptions);
	/*google.maps.event.addListener(map, 'zoom_changed', function() {
				setTimeout(test, 3000);
			  });*/

    var infoWindow = new google.maps.InfoWindow;
	var fluster = new Fluster2(map);

	
    downloadUrl("http://www.godf.org/index.php/divers/listexml", function(data) {
    		   
    	
        xml = parseXml(data);
		
        zoomLevel = map.getZoom();
        markers = xml.documentElement.getElementsByTagName("marker");	   
       for (var i = 0; i < markers.length; i++) {
		   
		   
		   
		  /*if (zoomLevel==5)
		   {
			   alert("zoom 4")
			};*/
			//alert(zoomLevel);
       	    
            var name = markers[i].getAttribute("name");
            var contenu = markers[i].getAttribute("contenu");
            var gps_lat = markers[i].getAttribute("gps_lat");
            //   var horaires = markers[i].getAttribute("horaires");
            var gps_long = markers[i].getAttribute("gps_long");
           
           var point = new google.maps.LatLng(
                parseFloat(gps_lat),
                parseFloat(gps_long)
                );

              var images = 'http://www.godf.org/images/mm_20_blue.png';

            var marker = new google.maps.Marker({
                position: point,
				//map: map,
                icon: images,
				title: name
            });
			fluster.addMarker(marker);

            var html = getHtml(name, contenu, gps_lat, gps_long);

            bindInfoWindow(marker, map, infoWindow, html, contenu);
			/*var myWindowOptions = {
				
				content:
				"COUCOU"

				
			};*/
			
			/*var myInfoWindow = new google.maps.InfoWindow(myWindowOptions);
			
			google.maps.event.addListener(marker,'click',function(){
				myInfoWindow.open(map,marker);
			});*/
			
			

			
       }
	   fluster.styles = {
		// This style will be used for clusters with more than 0 markers
		0: {
			image: 'http://www.godf.org/images/mm_20_blue.png',
			//textColor: '#fff',
	
			width: 50,
			height: 50
		},
		// This style will be used for clusters with more than 10 markers
		1: {
			image: 'http://www.godf.org/images/mm_20_blue_medium.png',
			//textColor: '#fff',
			
			width: 50,
			height: 50
		},
		20: {
			image: 'http://www.godf.org/images/mm_20_blue_big.png',
			//textColor: '#fff',
			
			width: 50,
			height: 50
		}
	};
	
	// Initialize Fluster
	// This will set event handlers on the map and calculate clusters the first time.
	fluster.initialize();

    }); 
	
	
}

function recherche()
{
	var zoom;
	var address = document.getElementById("adresse").value;
	address = address.toLowerCase();
	//alert(address);
	if((address.indexOf("rue") != -1) || (address.indexOf("allée") != -1) || (address.indexOf("allee") != -1) || (address.indexOf("avenue") != -1) || (address.indexOf("impasse") != -1))
	{
		zoom = 15;	
		
	}
	else { 
		zoom = 11;
	}

	var address = document.getElementById("adresse").value;
    if (geocoder) {
      geocoder.geocode( { 'address': address}, function(results, status) {
        if (status == google.maps.GeocoderStatus.OK) {
          map.setCenter(results[0].geometry.location);
		  map.setZoom(zoom);
          var marker = new google.maps.Marker({
              map: map, 
              position: results[0].geometry.location
          });
        } else {
          alert("Cette destination n'existe pas " + status);
        }
      });
    }

	
}

/*function test() {
   var darwin = new google.maps.LatLng(-12.461334, 130.841904);
  map.setCenter(darwin);
}*/

function getHtml(name, contenu, gps_lat, gps_long) {
    html = "";
    html += "<div>";
    html += contenu;
    html += "</div>";
    return html;
}


function bindInfoWindow(marker, map, infoWindow, html, contenu) {
    google.maps.event.addListener(marker, 'click', function() {
        /*infoWindow.setContent(html);
        infoWindow.open(map, marker);*/
		debut=contenu.indexOf("<a href='") + 9;
		fin = contenu.length - 27;
		
		lien = contenu.substring(debut,fin);
		
		window.location = lien;
    });
}

function downloadUrl(url,callback) {
   /* var request = window.ActiveXObject ?
    new ActiveXObject('Microsoft.XMLHTTP') :
    new XMLHttpRequest;*/
	
	if (window.XMLHttpRequest)                 //  Objet de la fenêtre courant
{ 
    request = new XMLHttpRequest();     //  Firefox, Safari, ...
} 
else 
   if (window.ActiveXObject)                    //  Version Active
   {
      request = new ActiveXObject("Microsoft.XMLHTTP");   // Internet Explorer 
   }

    request.onreadystatechange = function() {
        if (request.readyState == 4) {
            request.onreadystatechange = doNothing;
            callback(request.responseText, request.status);
        }
    };

    request.open('GET', url, true);
    request.send(null);
}

function parseXml(str) {
    if (window.ActiveXObject) {
        var doc = new ActiveXObject('Microsoft.XMLDOM');
        doc.loadXML(str);
        return doc;
    } else if (window.DOMParser) {
        return (new DOMParser).parseFromString(str, 'text/xml');
    }
}

function doNothing() {}

//]]> 