var GM_STANDARD_NAVIGATION_CONTROL = 0;
var GM_SMALL_NAVIGATION_CONTROL = 1;
var GM_STANDARD_MAPTYPE_CONTROL = 0;
var GM_DROPDOWN_MAPTYPE_CONTROL = 1;

var g_map_options = new Array();
var g_info_window = new Array();

function GM_InitMap ( html_elem_id, lat, lng, alt )
{	
	var map_options = {
		center: new google.maps.LatLng(lat,lng),
		zoom: alt,
		mapTypeId: google.maps.MapTypeId.ROADMAP,
		mapTypeControl: false,
		scaleControl: false,
		navigationControl: false
	};
	
	var map = new google.maps.Map(document.getElementById(html_elem_id), map_options);
	
	g_map_options[map] = map_options;
	
	return map;
}

function GM_InitMapSimple ( html_elem_id )
{
	var map = GM_InitMap(html_elem_id, 0, 0, 0);
	return map;
}

function GM_AddNavigationControl ( map, style )
{
	if(g_map_options[map] == null)
		return;
		
	var map_options = g_map_options[map];
	
	var ctrl_options = {
		style: (style == GM_STANDARD_NAVIGATION_CONTROL ? google.maps.NavigationControlStyle.ZOOM_PAN : google.maps.NavigationControlStyle.SMALL)
	};
	
	map_options['navigationControl'] = true;
	map_options['navigationControlOptions'] = ctrl_options;
	
	map.setOptions(map_options);
}

function GM_AddScaleControl ( map )
{
	if(g_map_options[map] == null)
		return;
		
	var map_options = g_map_options[map];
	
	var ctrl_options = {
		style: google.maps.ScaleControlStyle.STANDARD
	};
	
	map_options['scaleControl'] = true;
	map_options['scaleControlOptions'] = ctrl_options;
	
	map.setOptions(map_options);
}

function GM_AddMapTypeControl ( map, style )
{
	if(g_map_options[map] == null)
		return;
		
	var map_options = g_map_options[map];
	
	var ctrl_options = {
		style: (style == GM_STANDARD_MAPTYPE_CONTROL ? google.maps.MapTypeControlStyle.HORIZONTAL_BAR : google.maps.MapTypeControlStyle.DROPDOWN_MENU)
	};
	
	map_options['mapTypeControl'] = true;
	map_options['mapTypeControlOptions'] = ctrl_options;
	
	map.setOptions(map_options);
}

function GM_AddMarker ( map, lat, lng )
{
	var marker = new google.maps.Marker({
		map: map,
		position: new google.maps.LatLng(lat,lng)
	});
}

function GM_AddCircle ( map, lat, lng, rad )
{
	
}

function GM_AddMarkerWithTextAndIcon ( map, lat, lng, text, icon )
{
	if(g_info_window[map] == null)
		g_info_window[map] = new google.maps.InfoWindow();
	
	var marker = new google.maps.Marker({
		map: map,
		position: new google.maps.LatLng(lat,lng),
		icon: icon
	});
	
	google.maps.event.addListener(marker, 'click', function() {
		var info_window = g_info_window[map];
		info_window.set_content(text);
		info_window.set_size(new google.maps.Size(350, 350));
		info_window.open(map, marker);		
	});
}
