//conflit Jquery / Prototype
$.noConflict();

// carte google
var map;
// liste des donnees des points
var markers = [];
// coordonnees limites calculees carte
var maxlng, maxlat, minlng, minlat;
// limites de la carte au chargement'
var bounds;
// zoom par défaut calculé d'après les points'
var zoomcalc;

function initialize() {
    if (GBrowserIsCompatible()) {

        // valeurs par defaut avant recalcul centre & zoom
        var Lat=43.78299262890581;
        var Lng=1.5655517578125;
        var Zoom=8;

        map = new GMap2(document.getElementById("carte")); // affiche le module
        //map.setMapType(G_HYBRID_MAP);
        map.setCenter(new GLatLng(Lat,Lng ),Zoom ); //affiche la carte au lieu précisé

        //var extLargeMapControl = new ExtLargeMapControl({type : "small"});
        //map.addControl(extLargeMapControl);
        map.setUIToDefault();
        map.enableDoubleClickZoom();
        map.disableScrollWheelZoom();

        // Mapcenter: 43.121034, 0.681152
        // Clicked lat and lng: 42.565219, -0.340576
        var mapZoom = 8;
        // Map pixel coords for clicked point at this zoom level
        var pointx = 32706;
        var pointy = 24189;
        var scaled = true;
        var imagetype = true;
        var overlaycontent = '/commun/images/carto/limites_region_4.png';
        var width = 693;
        var height = 630;
        var pt = map.getCurrentMapType().getProjection();
        var swpoint = new GPoint(pointx, pointy);
        var nepoint = new GPoint(pointx + width, pointy - height);
        var swcoord = pt.fromPixelToLatLng(swpoint,mapZoom);
        var necoord = pt.fromPixelToLatLng(nepoint,mapZoom);
        var geoinfo = new GLatLngBounds(new GLatLng(swcoord.lat(), swcoord.lng()), new GLatLng(necoord.lat(), necoord.lng()));
        // The code for MyCustomOverlay is in mycustomoverlay.js
        var overlay = new MyCustomOverlay(overlaycontent, geoinfo, imagetype, scaled);
        map.addOverlay(overlay);
		
        // Create a base icon for all of our markers that specifies the
        // shadow, icon dimensions, etc.
        var baseIcon = new GIcon(G_DEFAULT_ICON);
        baseIcon.shadow = "http://www.google.com/mapfiles/shadow50.png";
        baseIcon.iconSize = new GSize(20, 34);
        baseIcon.shadowSize = new GSize(37, 34);
        baseIcon.iconAnchor = new GPoint(9, 34);
        baseIcon.infoWindowAnchor = new GPoint(9, 2);

        minlng = 90.0;
        minlat = 90.0;
        maxlng = -90.0;
        maxlat = -90.0;

        // ajout des marqueurs de tab_resultats et recalcul des min & max lat et lng
        jQuery.each(tab_resultats_of, creation_marqueur);
    }
}

function affiche(event) {
    var m = this;
    m.openInfoWindowHtml(m.description);   
}

function creation_marqueur(index, valeur) {

    var lng, lat;
    if (valeur.lng == '') {
        lng = 1.443366;
    }
    else {
        lng = parseFloat(valeur.lng);
    }

    if (valeur.lat == '') {
        lat = 43.604375;
    }
    else {
        lat = parseFloat(valeur.lat);
    }

    if (minlng > lng) {
        minlng = lng;
    }

    if (maxlng < lng) {
        maxlng = lng;
    }

    if (minlat > lat) {
        minlat = lat;
    }

    if (maxlat < lat) {
        maxlat = lat;
    }

    var point = new GLatLng(lat, lng);
    var marker = new GMarker(point);

    markers.push(marker);

    map.addOverlay(marker);
    marker.setImage("/commun/images/carto/marker.png");
    // info bulle : sigle

    marker.description = '';
    
    marker.description += '<div class="infobulle"><h4>';
    marker.description += valeur.sigle + '</h4><br />';

    //adresse
    marker.description += valeur.adresse + '<br /><br />';
    
    //tel
    if (valeur.tel != '') {
        marker.description += '<ul><li><h6>' + 'Téléphone :' + '</h6></li>'
        marker.description += '<span class="contact">' + valeur.tel + '</span></li><br/>'
    }
    
    marker.description += '</div>';
    var center = new GLatLng(lat+0,lng+0.02);
    GEvent.addListener(marker, "click", affiche);
    map.setCenter(center,12);
    marker.openInfoWindowHtml(marker.description);
}

jQuery(document).ready(function() {
   initialize();
});

