	
	
	switch (document.location.host)
	{
		case "test.perpignan.fr":
			keymap="ABQIAAAAE7xxAmg4d-q2K1z2RFn5fBRiunCnF_ckGd3ExY1I-q6pyYWNsxTybWhYu947TmTxQI1f--E9kCQVvw";
			break;
		case "www.mairie-perpignan.fr":
			keymap="ABQIAAAAE7xxAmg4d-q2K1z2RFn5fBRL1htedg8m9OOSOMEThQ703x5wqxSVAfXS9ffLu8UqivZwNCPdnZXtDg";
			break;
		case "www.perpignan.fr":
			keymap="ABQIAAAAE7xxAmg4d-q2K1z2RFn5fBQh4oWwj3hYbXnsK8x9RCKbG6V5VBQT1JvGiSmGlJkD8CJv6tjmOUcIZA";
			break;
		case "nouveau.perpignan.fr":
			keymap="ABQIAAAAE7xxAmg4d-q2K1z2RFn5fBSuTtzXOFos2J8uLp2KOMpFuQXlkRS7O_8BI3J8nGTXIOPpP8Jm01OXWQ";
			break;
	}

	document.write(unescape("%3Cscript src='http://maps.google.fr/maps?file=api&amp;v=2.x&amp;key="+keymap+"' type='text/javascript'%3E%3C/script%3E"));

		var i = 0;
	var tabPoly = [];
	var gmarkers = [];
	var map = '';
	var lastPointSelected = '';
	
	
	$(document.body).unload(
		function()
		{
			if (GBrowserIsCompatible())
				GUnload();
		}
	);


	function createMarker2(point,place,desc,href,zoom_init)
	{
 		var icon = new GIcon();
		icon.image = href;
		icon.iconSize = new GSize(32, 32);
		icon.iconAnchor = new GPoint(16,32);
		icon.infoWindowAnchor = new GPoint(20,0);
 		
 		lastPointSelected=point;
 		
 		var marker = new GMarker(point,icon); 		
		var html = '<div style="padding:5px"><h3>'+place+'</h3><p>'+desc+'</p></div>'; //put here the contents of the HtmlInfoWindow		
		GEvent.addListener(marker, 'click', function() {
			marker.openInfoWindowHtml(html,{maxWidth:400});
			if (zoom_init!="")
				map.setCenter(marker.getPoint(),parseInt(zoom_init));
			else
				map.setCenter(marker.getPoint());
		});	
		return marker;
	}
	
	function panoramique(response)
	{
		if (!response || response.Status.code != 200) {
			// ne rien faire
		} 
		else {
			var place = response.Placemark[0];
			var point = new GLatLng(place.Point.coordinates[1],
		                    	    place.Point.coordinates[0]);
		        		
			panoClient = new GStreetviewClient();      
			var pointPOV = {yaw:229.19,pitch:-20};
			var panoOpts = {
			  features: {
			    streetView: true,
			    userPhotos: false
			  }
			};
			
			myPano = new GStreetviewPanorama(document.getElementById("pano"));
			myPano.setLocationAndPOV(point, pointPOV);
			GEvent.addListener(myPano, "error", handleNoFlash);
		}
	}
	
	
	function KMLparser(path,map,id_local)
	{
		$.ajax
		({
		    type: 'GET',
		    url: path,
		    dataType: 'xml',
		    success: function(data, status)
		    {	
			$('Folder',data).each(function(i)
			{
				var nodeFolder = $(this);
				var nom_style = nodeFolder.children('name').text();				
				var href  = nodeFolder.find("href").text();
				
				
				
				nodeFolder.find('Placemark').each ( function(i)
				{
					var placemark = $(this);
					var coordinates = "";
					placemark.find('coordinates').each(function (i)
					{
						coordinates+=$(this).text(); 
					});							
					coordinates = coordinates.split(" ");
					for(var j=0; j<coordinates.length;j++){
						coordinates[j] = coordinates[j].split(",");
					}
					
					if(coordinates.length == 1){
						// Points
						var point = new GLatLng(parseFloat(coordinates[0][1]),parseFloat(coordinates[0][0]));
						var name = placemark.children("name").text();
						var adresse = placemark.children("adresse").text();
						var desc = placemark.children("description").text();
						var zoom_init = placemark.children("zoom_init").text();
						var point_id_local  = placemark.find("id_local").text();
						
						var href_placemark  = placemark.find("href").text();
									
						if (href_placemark!="")
							var marker = createMarker2(point,name,adresse+"<br />"+desc,href_placemark,zoom_init);
						else
							var marker = createMarker2(point,name,adresse+"<br />"+desc,href,zoom_init);
						
						marker.nom_style = nom_style;
						marker.nom_marker = name;
						gmarkers.push(marker);
						map.addOverlay(marker);
						
						var geocoder = new GClientGeocoder();
						geocoder.getLocations(adresse+", Perpignan, FR", panoramique );
						
						if ((id_local==point_id_local)&&(id_local!=0))
							GEvent.trigger(marker,"click");
					}
					else
					{
						// Polygones
						var points = new Array();
						var idPoly = placemark.children("id").text();								
						
						for(var j=0; j<coordinates.length; j++)
						{
							if (parseFloat(coordinates[j]))
								points.push(new  GLatLng(parseFloat(coordinates[j][1]),parseFloat(coordinates[j][0])));	
						}
						
						
						var poly =new GPolyline(points,"#FFf000", 0.1 ,0.1);
						poly.idPoly=idPoly;
						tabPoly.push(poly);								
						map.addOverlay(poly);								
					}
				});
			});
		    },
		    error: function (request, status, error)
		    {
		    	alert('Erreur au niveau ajax!');	
		    }
		  });
	}
	
	function handleNoFlash(errorCode) {
	      if (errorCode == 603) {
	        alert("Error: Flash doesn't appear to be supported by your browser");
	        return;
	      }
	    }
			
	function toogleMarkers(nom_style,id_input){
	
		map.getInfoWindow().hide();
		   if (document.getElementById(id_input).checked==false) { // hide the marker
		      for (var i=0;i<gmarkers.length;i++) {
		         if (gmarkers[i].nom_style==nom_style)  {
		             gmarkers[i].hide();
		         }
		      }
		      return "hide";
		   } else { // show the marker again
		      for (var i=0;i<gmarkers.length;i++) {
		         if (gmarkers[i].nom_style==nom_style)  {
		            gmarkers[i].show();
		         }
		      }
		      return "show";
		   }
	}

	function afficheMarker(nom_marker)
	{
		map.getInfoWindow().hide();
		
		for (var i=0;i<gmarkers.length;i++) {
			if (gmarkers[i].nom_marker==nom_marker)  {
				GEvent.trigger(gmarkers[i],"click");			
			}
		}
			
	}
	
	function centreMap()
	{
		map.getInfoWindow().hide();
		map.setCenter(new GLatLng(42.70059652337888,2.903803119659424), 12);	
	}
	
	$("#map").ready(function()
 	{
 		if (GBrowserIsCompatible()) 
		{
			
			GPolygon.prototype.Contains = function(point) {
				var j=0;
				var oddNodes = false;
				var x = point.lng();
				var y = point.lat();
				for (var i=0; i < this.getVertexCount(); i++) {
				  j++;
				  if (j == this.getVertexCount()) {j = 0;}
				  if (((this.getVertex(i).lat() < y) && (this.getVertex(j).lat() >= y))
				  || ((this.getVertex(j).lat() < y) && (this.getVertex(i).lat() >= y))) {
				    if ( this.getVertex(i).lng() + (y - this.getVertex(i).lat())
				    /  (this.getVertex(j).lat()-this.getVertex(i).lat())
				    *  (this.getVertex(j).lng() - this.getVertex(i).lng())<x ) {
				      oddNodes = !oddNodes
				    }
				  }
				}
				return oddNodes;
			}
			GPolyline.prototype.Contains = GPolygon.prototype.Contains;			
			GPolyline.prototype.width=1;
			GPolygon.prototype.idPoly = "";
		  	GPolyline.prototype.idPoly = "";
			
			map = new GMap2(document.getElementById("map"));
			
			
			map.disableScrollWheelZoom();
			map.disableDoubleClickZoom();
			
			map.addMapType(G_SATELLITE_3D_MAP);			
		  	map.addControl(new GHierarchicalMapTypeControl());
      			map.addControl(new GLargeMapControl());
		     	
		     	// Disable the scrollwheel from scrolling the map
			GEvent.addDomListener(map.getContainer(), 'DOMMouseScroll', function(e)
			{
			    e.preventDefault();
			    e.returnValue = false;
			});
		     	
		     	var contourCartePerpignan = new GGeoXml("http://"+document.location.host+"/sites/default/files/gmaps/contour.kml?v="+(new Date()).getTime());
			
			map.addOverlay(contourCartePerpignan);
		     	
		     	map.setCenter(new GLatLng(42.70059652337888,2.903803119659424), 12);
		}
		else
		{
			alert("Désolé, l'application Google Maps n'est pas compatible avec votre navigateur");
		}
 		
 	});
 	
	

