
google.load("maps", "2.x", {"hl":"fr"});
  
 
// Call this function when the page has been loaded
function initialize() {
    
    var map = new google.maps.Map2(document.getElementById("map"));
	map.addControl(new GSmallMapControl());
	map.addControl(new GMapTypeControl());
	map.addControl(new GScaleControl());
    
    // Zoom over QC
	var loc = new google.maps.LatLng( 46.82027, -71.31844);
    map.setCenter(loc, 11);
 
	$ = jQuery;
	
	$("#adresses").hide();
 
	// Loop each adresses
	$("#adresses .adresse").each(function(){
	    var ll = $(this).attr("rel").split(";");
	    var content = $(this).html();
	    var marker = new GMarker(new google.maps.LatLng(ll[0], ll[1]));
	    GEvent.addListener(marker, "click", function() {
		    marker.openInfoWindowHtml( content );
	    });
	    map.addOverlay(marker);
	});
}
//google.setOnLoadCallback(initialize);

var _maps = [];
var _zmaps = [];

function loadMap( zoneId ) 
{
    if (jQuery.inArray(zoneId, _maps) != -1) {
    	return true;
    }
    _maps[zoneId] = true;
    var map = new google.maps.Map2(document.getElementById("gmap-" + zoneId));
	map.addControl(new GSmallMapControl());
	map.addControl(new GMapTypeControl());
	map.addControl(new GScaleControl());
    
    var ll = $("#gmap-" + zoneId).attr("rel").split(";");
    
    // Zoom
	var loc = new google.maps.LatLng(parseFloat(ll[0]), parseFloat(ll[1]));
    map.setCenter(loc, parseInt(ll[2]));
    
    // Loop each addresses
    $("#carte-" + zoneId).find(".gpoint").each(function(){
	    var ll = $(this).attr("rel").split(";");
	    var content = $(this).html();
	    content = "<h3>" + content +"</h3>";
	    var adresse = $(this).next("dd").find("address").html();
	    content = content + "<address>" + adresse + "</address>";
	    
	    var marker = new GMarker(new google.maps.LatLng(ll[0], ll[1]));
	    GEvent.addListener(marker, "click", function() {
		    marker.openInfoWindowHtml( content );
	    });
	    map.addOverlay(marker);
	});
 
}

function loadZoomMap( zoneId ) 
{
    if (jQuery.inArray(zoneId, _zmaps) != -1) {
    	return true;
    }
    _zmaps[zoneId] = true;
    var map = new google.maps.Map2(document.getElementById("gmap-zoom-" + zoneId));
	map.addControl(new GSmallMapControl());
	map.addControl(new GMapTypeControl());
	map.addControl(new GScaleControl());
    
    var ll = $("#gmap-" + zoneId).attr("rel").split(";");
    
    // Zoom
	var loc = new google.maps.LatLng(parseFloat(ll[0]), parseFloat(ll[1]));
    map.setCenter(loc, parseInt(ll[2]));
    
    // Loop each addresses
    $("#carte-" + zoneId).find(".gpoint").each(function(){
	    var ll = $(this).attr("rel").split(";");
	    var content = $(this).html();
	    content = "<h3>" + content +"</h3>";
	    var adresse = $(this).next("dd").find("address").html();
	    content = content + "<address>" + adresse + "</address>";
	    
	    var marker = new GMarker(new google.maps.LatLng(ll[0], ll[1]));
	    GEvent.addListener(marker, "click", function() {
		    marker.openInfoWindowHtml( content );
	    });
	    map.addOverlay(marker);
	});
 
}


jQuery(function(){
    
    $(".carte dl").hide();
	
	$(".carte").hide();
	
	$("#carte-0").show();
	
	$("#maphandler area").click(function(){
		$(".carte").hide();
		var map_id = $(this).attr("rel");
		$("#carte-" + map_id).show();
		loadMap(map_id);
		return false;
	});
	
	$(".carte label").click(function(){
		if($(this).hasClass("open")) {
			$(this).removeClass("open");
			$(this).next("dl").slideUp();
		} else {
			$(this).addClass("open");
			$(this).next("dl").slideDown();
			
		}
	});
	
	
	$(".zoom a").click(function(){
		if ($(this).hasClass("zoomout")) {
			$("#zoom-map .slide").hide();
			$("#carte-zoom-qc").show();
			$(this).removeClass("zoomout");
		} else {
			var cId = $(this).parent().parent().attr("id").split("-")[1];
			$("#zoom-map .slide").hide();
			$("#carte-zoom-" + cId).show();
			loadZoomMap(cId);
			$(this).addClass("zoomout");
		}
		
	});
	
	$("#zoom-map .zoomout a").click(function(){
		var cId = $(this).parent().parent().attr("id").split("-")[2];
		
		$("#carte-" + cId + " .zoom a").click();
		return false;
		//alert(cId);
	});
	
	loadMap( "0" );
	$("#carte-0 label").click();
	
	
});

