/*
 * GoogleMapManager
 *
 * 2009 Neopost Diva 
 *
 *$Author: Jean-Mathieu
 * $Date: 2009-03-25
 */
	
	/* Icon Neopost*/
	var icon = new GIcon();
	icon.image = "../../img/N-maps.gif";
	icon.iconSize = new GSize(42, 40);
	icon.iconAnchor = new GPoint(21, 20);
	icon.infoWindowAnchor = new GPoint(40, 1);

	

	
	var map = null; //map reference
	var activeEltMap = "";
	var mapWidth = 400;
	var mapHeight = 300;
   
	/* Initialization of a new GMap */
	function initGMap(eltId)
	{
		if (GBrowserIsCompatible())
		{
			if(map!=null) {
				delete map; //delete previous instance
				document.getElementById(activeEltMap).innerHTML ="";
				GUnload();
			}
			map = new GMap2(document.getElementById(eltId),
				{ size:new GSize(mapWidth,mapHeight), draggableCursor:"move", draggingCursor:"crosshair" } );
			map.setUIToDefault();
			activeEltMap = eltId;
		}
	}	
	
	/* Add a new GMap Point to the active map */
	function addGMapPoint(lat, lng, zoom, html)
	{
		if(map!=null) {
			var point = new GLatLng(lat, lng,true);
			map.setCenter(point, zoom);
			var marker = createMarker(point, html, icon);
			map.addOverlay(marker);
		}
	}

	/* Create GMarker of a GMap Point*/
	function createMarker(point, legende, icon)
	{
		var marker = new GMarker(point, icon);
		GEvent.addListener(marker, 'click', function() {
			marker.openInfoWindowHtml(legende);
		});
		return marker;
	}
	
	/*Predef Maps*/
	function mapBarcelone()
	{
		initGMap('map_barcelone');
		var html = "<strong><b>Neopost Mailing & Logistics Systems</b><br>Barcelone</strong>";
		addGMapPoint(41.525876977107046, 2.097262144088745, 11, html);
	}
	function mapNanterre()
	{
		initGMap('map_nanterre');
		var html = "<strong><b>Neopost ID</b><br>Nanterre</strong>";
		addGMapPoint(48.89812957181126, 2.221512794494629, 13, html);
	}
	function mapCavaillon()
	{
		mapHeight = 450; //car 2 points
		initGMap('map_cavaillon');
		/*Diva*/
		var html = "<strong><b>Neopost ID</b><br>127, avenue Joseph Pierre Boitelet<br>B.P. 50<br>84302 Cavaillon Cedex<br><br><img src=../../img/batiment-cavaillon.jpg>";
		addGMapPoint(43.816662102672964, 5.044527053833008, 14, html);
		/*NBG*/
		html = "<strong><b>Neopost ID</b><br>Min 26 Halle 4<br>84953 Cavaillon Cedex</strong>";
		addGMapPoint(43.825378381143054, 5.042992830276489, 14, html);
		/*to Center*/
		var point = new GLatLng(43.821015, 5.043755,true); //Moyenne des coordonnees : (Diva+NBG)/2
		map.setCenter(point, 14);
		mapHeight = 300; //on remet la taille normale
	}
	function mapMilan()
	{
		initGMap('map_milan');
		var html = "<strong><b>Neopost Italia S.R.L.</b><br>Milan</strong";
		addGMapPoint(45.549074835895816, 9.05446171760559, 11, html);
	}
	function mapRomford()
	{
		initGMap('map_romford');
		var html = "<strong><b>Neopost ltd</b><br>Romford</strong>";
		addGMapPoint(51.56630015669336, 0.18715381622314453, 11, html);
	}
	function mapBirmingham()
	{
		initGMap('map_birmingham');
		var html = "<strong><b>Neopost ltd</b><br>Birmingham</strong>";
		addGMapPoint(52.47108959457953, -1.7176946997642517, 12, html);
	}
	
	var lastOpenAccord="";
	/*Accordeon*/
	function initAccord()
	{
		$("#barcelone").click(function () {
			$("#layer-barcelone").slideToggle("slow");
			closeLastAccord("layer-barcelone");
		});
		$("#layer-barcelone").slideToggle("slow");

		$("#nanterre").click(function () {
			$("#layer-nanterre").slideToggle("slow");
			closeLastAccord("layer-nanterre");
		});
		$("#layer-nanterre").slideToggle("slow");

		$("#cavaillon").click(function () {
			$("#layer-cavaillon").slideToggle("slow");
			closeLastAccord("layer-cavaillon");
		});
		$("#layer-cavaillon").slideToggle("slow");

		$("#milan").click(function () {
			$("#layer-milan").slideToggle("slow");
			closeLastAccord("layer-milan");
		});
		$("#layer-milan").slideToggle("slow");

		$("#romford").click(function () {
			$("#layer-romford").slideToggle("slow");
			closeLastAccord("layer-romford");
		});
		$("#layer-romford").slideToggle("slow");

		$("#birmingham").click(function () {
			$("#layer-birmingham").slideToggle("slow");
			closeLastAccord("layer-birmingham");
		});
		$("#layer-birmingham").slideToggle("slow");
	}
	function closeLastAccord(eltId)
	{
		if(lastOpenAccord!=eltId) {
			$("#"+lastOpenAccord).slideToggle("slow");
			lastOpenAccord=eltId;
		} else {
			lastOpenAccord="";
		}
	}
	
