var map = new Object();
var marker = new Object();

/* initialisation de google maps
/* mode = 'update' || '' 
*/
function ismap_init(lat, lng, zoom, mode)
{
	
	if (GBrowserIsCompatible())
	{
    map = new GMap2(document.getElementById('map'));
    
    
    // après un déplacement
		GEvent.addListener(map, "moveend", function()
			{
				if(mode=='update')
				{
					// mise à jour du formulaire
					document.getElementById('geocode_lng').value = map.getCenter().lng();
					document.getElementById('geocode_lat').value = map.getCenter().lat();
					
					// zoom
					document.getElementById('geocode_zoom').value = map.getZoom();
				}

				// on repositionne le marqueur à chaque déplacement
				map.removeOverlay(marker);
				marker = new GMarker(map.getCenter());
				map.addOverlay(marker);
			}
		);
		
		// controls
    map.addControl(new GLargeMapControl());
		map.addControl(new GOverviewMapControl());
		map.addControl(new GMapTypeControl());
		map.addControl(new GScaleControl());
    
    //map.setCenter(new GLatLng(lat, lng), zoom);
    // affiche du point sur la carte
    ismap_setCenter(map, lat, lng, zoom)
  }
}


function ismap_setCenter(ressource, lat, lng, zoom)
{
	ressource.setCenter(new GLatLng(lat, lng), zoom);
}

function ismap_update()
{
	opener.document.getElementById('geocode_lng').value = document.getElementById('geocode_lng').value;
	opener.document.getElementById('geocode_lat').value = document.getElementById('geocode_lat').value;
	opener.document.getElementById('geocode_zoom').value = document.getElementById('geocode_zoom').value;
	opener.document.getElementById('geocode_precision').value = 9;
	
	self.close();
}

function ismap_convertGetCenterToArray(str)
{
	return eval("position = new Array"+str);
}