// js/cartes_resultats-1ertour.js

//5 cartes
var map_0 = null;
var map_1 = null;
var map_2 = null;
var map_3 = null;
var map_4 = null;
// tableaux des centres de base
var c0 = new Array();
c0['lat'] = 47.249406957888446;
c0['lng'] = 3.603515625;
c0['zoom'] = 5;
c0['url'] = "data/france-metro.13062007.xml";

var c1 = new Array();
c1['lat'] = 13.154376055418528;
c1['lng'] = -57.83203125;
c1['zoom'] = 4;
c1['url'] = "data/caraibes.13062007.xml";

var c2 = new Array();
c2['lat'] = -16.59408141271846;
c2['lng'] = 50.185546875;
c2['zoom'] = 4;
c2['url'] = "data/ocean-indien.13062007.xml";

var c3 = new Array();
c3['lat'] = -16.04581345375217;
c3['lng'] = -159.9609375;
c3['zoom'] = 4;
c3['url'] = "data/ocean-pacifique.13062007.xml";

var c4 = new Array();
c4['lat'] = 46.948387301863534;
c4['lng'] = -56.2774658203125;
c4['zoom'] = 9;
c4['url'] = "data/amerique-nord.13062007.xml";

// urls
//var uriBase = "http://localhost/politique/";
var uriBase = document.getElementById("urlIdentifier").getAttribute("content");
var urls = new Array();
urls['gr'] = uriBase+"ajax/gr.php";

// icons
var baseIcon = new GIcon(); 
baseIcon.iconSize = new GSize(16,10);
baseIcon.shadowSize = new GSize(0,0);
baseIcon.iconAnchor = new GPoint(0,0);
baseIcon.infoWindowAnchor = new GPoint(9, 2);
baseIcon.infoShadowAnchor = new GPoint(0,0);
baseIcon.image = uriBase+"images/lrf.png";

function getResults (lib) {
	//alert("chargement de la liste du département "+lib);
	
	var opts = { postBody : "apikey=nicowebv3&lib="+lib , method : 'post' }
	new Ajax.Updater("retServ",urls['gr'],opts);
}


function createMarker(point, libelle) {
	var opts = { icon : baseIcon };
  var marker = new GMarker(point,opts);
  GEvent.addListener(marker, "click", function() {
    marker.openInfoWindowHtml("<strong>"+libelle+"</strong><br/><input type='button' style='font-size:11px;' onClick='getResults(\""+libelle+"\");' value='charger la liste des résultats du département' />");
  });
  return marker;
}
    
function load() {
  if (GBrowserIsCompatible()) {
    
    // chargement carte France métro
    map_0 = new GMap2(document.getElementById("map_0"));
    var lat0 = c0['lat'];
    var lng0 = c0['lng'];
    var z0 = c0['zoom'];
    map_0.setCenter(new GLatLng(lat0,lng0),z0);
    GDownloadUrl(c0['url'], function(data) {
      var xml = GXml.parse(data);
      var markers = xml.documentElement.getElementsByTagName("marker");
      for (var i = 0; i < markers.length; i++) {
        var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")),
                                parseFloat(markers[i].getAttribute("lng")));
        //alert(markers[i].getAttribute("libelle"));
        var libelle = markers[i].getAttribute("libelle");
        map_0.addOverlay(createMarker(point,libelle));
      }
    });
    
    // chargement carte Guyane/Caraibes
    map_1 = new GMap2(document.getElementById("map_1"));
    var lat1 = c1['lat'];
    var lng1 = c1['lng'];
    var z1 = c1['zoom'];
    map_1.setCenter(new GLatLng(lat1,lng1),z1);
    GDownloadUrl(c1['url'], function(data) {
      var xml = GXml.parse(data);
      var markers = xml.documentElement.getElementsByTagName("marker");
      for (var i = 0; i < markers.length; i++) {
        var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")),
                                parseFloat(markers[i].getAttribute("lng")));
        //alert(markers[i].getAttribute("libelle"));
        var libelle = markers[i].getAttribute("libelle");
        map_1.addOverlay(createMarker(point,libelle));
      }
    });
    
    // chargement carte océan indien
    map_2 = new GMap2(document.getElementById("map_2"));
    var lat2 = c2['lat'];
    var lng2 = c2['lng'];
    var z2 = c2['zoom'];
    map_2.setCenter(new GLatLng(lat2,lng2),z2);
    GDownloadUrl(c2['url'], function(data) {
      var xml = GXml.parse(data);
      var markers = xml.documentElement.getElementsByTagName("marker");
      for (var i = 0; i < markers.length; i++) {
        var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")),
                                parseFloat(markers[i].getAttribute("lng")));
        //alert(markers[i].getAttribute("libelle"));
        var libelle = markers[i].getAttribute("libelle");
        map_2.addOverlay(createMarker(point,libelle));
      }
    });
    
    // chargement carte Polynésie Francaise pacifique
    map_3 = new GMap2(document.getElementById("map_3"));
    var lat3 = c3['lat'];
    var lng3 = c3['lng'];
    var z3 = c3['zoom'];
    map_3.setCenter(new GLatLng(lat3,lng3),z3);
    GDownloadUrl(c3['url'], function(data) {
      var xml = GXml.parse(data);
      var markers = xml.documentElement.getElementsByTagName("marker");
      for (var i = 0; i < markers.length; i++) {
        var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")),
                                parseFloat(markers[i].getAttribute("lng")));
        //alert(markers[i].getAttribute("libelle"));
        var libelle = markers[i].getAttribute("libelle");
        map_3.addOverlay(createMarker(point,libelle));
      }
    });
    
    // chargement carte st-pierre-miquelon
    map_4 = new GMap2(document.getElementById("map_4"));
    var lat4 = c4['lat'];
    var lng4 = c4['lng'];
    var z4 = c4['zoom'];
    map_4.setCenter(new GLatLng(lat4,lng4),z4);
		GDownloadUrl(c4['url'], function(data) {
      var xml = GXml.parse(data);
      var markers = xml.documentElement.getElementsByTagName("marker");
      for (var i = 0; i < markers.length; i++) {
        var point = new GLatLng(parseFloat(markers[i].getAttribute("lat")),
                                parseFloat(markers[i].getAttribute("lng")));
        //alert(markers[i].getAttribute("libelle"));
        var libelle = markers[i].getAttribute("libelle");
        map_4.addOverlay(createMarker(point,libelle));
      }
    });
		
		// controle optimisé des fonctionnalités 
		// de cartes proposées (limitation ici)
		//map_0.disableDragging();
		map_0.disableScrollWheelZoom();
		map_0.disableContinuousZoom();
		map_0.removeMapType();
		map_0.removeControl();
		
		//map_1.disableDragging();
		map_1.disableScrollWheelZoom();
		map_1.disableContinuousZoom();
		map_1.removeMapType();
		map_1.removeControl();
		
		//map_2.disableDragging();
		map_2.disableScrollWheelZoom();
		map_2.disableContinuousZoom();
		map_2.removeMapType();
		map_2.removeControl();
		
		//map_3.disableDragging();
		map_3.disableScrollWheelZoom();
		map_3.disableContinuousZoom();
		map_3.removeMapType();
		map_3.removeControl();
		
		//map_4.disableDragging();
		map_4.disableScrollWheelZoom();
		map_4.disableContinuousZoom();
		map_4.removeMapType();
		map_4.removeControl();
		
	}
}
