var MESSAGE_TERRITOIRE = {
    fr : {
        info_bulle : "Info bulle (Google Maps) : "
    },
    en : {
        info_bulle : "Tooltips (Google Maps): "
    }
};

function ouvrir_bulle(bulle, contenu, map, marker, e) {
    if (e.findElement().href && e.findElement().href.search(/\/\d+$/) != -1) { return; }
    if (e) { e.stop(); }

    bulle.setContent(contenu);
    bulle.open(map, marker);
}

function init_territoire(e) {
    var google_div = $('google_maps'); // Le span où placer le lien
    if (!google_div || !CssDetector.isCssEnabled()) { return; }

    var latlng = new google.maps.LatLng(55.478853, -69.873047);
    var myOptions = {
      zoom: 5,
      center: latlng,
      mapTypeControl: true,
      mapTypeControlOptions: {style: google.maps.MapTypeControlStyle.DROPDOWN_MENU},
      navigationControl: true,
      navigationControlOptions: {style: google.maps.NavigationControlStyle.SMALL},
      mapTypeId: google.maps.MapTypeId.HYBRID,
      scrollwheel: false
    };
    var map = new google.maps.Map(google_div, myOptions);
    var infowindow = new google.maps.InfoWindow({maxWidth : 250});

    $$('ul.google_liste li').each(function (li) {
        var nom = li.select('caption')[0];
        var geo = [];
        geo[0] = parseFloat(li.select('tr.latitude td')[0].innerHTML);
        geo[1] = parseFloat(li.select('tr.longitude td')[0].innerHTML);
        var contenu = '<div class="info_google">' + li.innerHTML + '</div>';
    
        var marker = new google.maps.Marker({ title: nom.innerHTML.stripTags(), position: new google.maps.LatLng(geo[0],geo[1]), map: map });
        google.maps.event.addListener(marker, 'click', ouvrir_bulle.curry(infowindow, contenu, map, marker));
    
        li.observe('click', ouvrir_bulle.curry(infowindow, contenu, map, marker));

        var lien = new Element('a', {style : 'display: inline', href : "#", title : MESSAGE_TERRITOIRE[LANGUAGE_CODE].info_bulle + nom.innerHTML.stripTags()}).insert(nom.innerHTML);
        lien.observe('click', ouvrir_bulle.curry(infowindow, contenu, map, marker));

        nom.update(lien);
    });
}

Event.observe(window, 'load', init_territoire);
