function renderStateAccomm(el,lat,lng,zoom)
{
	var baseIcon = new google.maps.Icon(G_DEFAULT_ICON);
	baseIcon.shadow = "http://www.google.com/mapfiles/shadow50.png";
	baseIcon.iconSize = new google.maps.Size(20, 34);
	baseIcon.shadowSize = new google.maps.Size(37, 34);
	baseIcon.iconAnchor = new google.maps.Point(9, 34);
	baseIcon.infoWindowAnchor = new google.maps.Point(9, 2);

	var map = new google.maps.Map2(document.getElementById(el));
	map.setCenter(new google.maps.LatLng(lat, lng),zoom);
	var mapControl = new google.maps.MapTypeControl();
	map.addControl(mapControl);
	map.addControl(new google.maps.LargeMapControl());
	//
	if(accomm_markers.length>0)
	{
		for(var i=0;i<accomm_markers.length;i++)
		{
			var letter = String.fromCharCode("A".charCodeAt(0) + i);
			var letteredIcon = new google.maps.Icon(baseIcon);
			letteredIcon.image = "http://www.google.com/mapfiles/marker.png";
			markerOptions={
				icon:letteredIcon
			};
			var point=new google.maps.LatLng(accomm_markers[i][0],accomm_markers[i][1]);
			var marker=new google.maps.Marker(point,markerOptions);
			var html=accomm_markers[i][2];
			marker.bindInfoWindowHtml(html);
			
			map.addOverlay(marker);
			GEvent.addListener(marker, "infowindowopen", function() {
				tb_init('a.thickbox');
			});
		}
	}
}
function renderBoundedAccomm(el,lat,lng,zoom)
{
	var baseIcon = new google.maps.Icon(G_DEFAULT_ICON);
	baseIcon.shadow = "http://www.google.com/mapfiles/shadow50.png";
	baseIcon.iconSize = new google.maps.Size(20, 34);
	baseIcon.shadowSize = new google.maps.Size(37, 34);
	baseIcon.iconAnchor = new google.maps.Point(9, 34);
	baseIcon.infoWindowAnchor = new google.maps.Point(9, 2);

	var map = new google.maps.Map2(document.getElementById(el));
	map.setCenter(new google.maps.LatLng(lat, lng),zoom);
	var mapControl = new google.maps.MapTypeControl();
	map.addControl(mapControl);
	map.addControl(new google.maps.LargeMapControl());
	//
	var bounds = new google.maps.LatLngBounds;
	var min_lat='';
	var min_lng='';
	var max_lat='';
	var max_lng='';
	if(accomm_markers.length>0)
	{
		for(var i=0;i<accomm_markers.length;i++)
		{
			if(min_lat=='')
			{
				min_lat=accomm_markers[i][0];
				max_lat=accomm_markers[i][0];
				min_lng=accomm_markers[i][1];
				max_lng=accomm_markers[i][1];
			}
			else
			{
				if(accomm_markers[i][0]<min_lat) min_lat=accomm_markers[i][0];
				if(accomm_markers[i][0]>max_lat) max_lat=accomm_markers[i][0];
				if(accomm_markers[i][1]<min_lng) min_lng=accomm_markers[i][1];
				if(accomm_markers[i][1]>max_lng) max_lng=accomm_markers[i][1];
			}
			markerOptions={
				icon:baseIcon
			};
			var point=new google.maps.LatLng(accomm_markers[i][0],accomm_markers[i][1]);
			var marker=new google.maps.Marker(point,markerOptions);
			var html=accomm_markers[i][2];
			marker.bindInfoWindowHtml(html);
			GEvent.addListener(marker, "infowindowopen", function() {
				tb_init('a.thickbox');
			});
			map.addOverlay(marker);
			bounds.extend(point);
		}
	}
	var new_lat=(max_lat+min_lat)/2;
	var new_lng=(max_lng+min_lng)/2;
	var center = new google.maps.LatLng(new_lat, new_lng);
	map.setCenter(center);
	var zoom=map.getBoundsZoomLevel(bounds);
	map.setZoom(zoom);
}
function renderCountryRegions(el,lat,lng,zoom)
{
	var map = new google.maps.Map2(document.getElementById(el));
	map.setCenter(new google.maps.LatLng(lat, lng),zoom);
	var mapControl = new google.maps.MapTypeControl();
	map.addControl(mapControl);
	map.addControl(new google.maps.LargeMapControl());
	for(var i=0;i<region_markers.length;i++)
	{
		var point=new google.maps.LatLng(region_markers[i][0],region_markers[i][1]);
		var marker=new google.maps.Marker(point);
		//
		marker.bindInfoWindowHtml(region_markers[i][2]);
		map.addOverlay(marker);
	}
	
	map.setZoom(3);
}
function renderLocationMap(el,lat,lng,zoom,info)
{
	var map = new google.maps.Map2(document.getElementById(el));
	map.setCenter(new google.maps.LatLng(lat, lng), zoom);
	var mapControl = new google.maps.MapTypeControl();
	map.addControl(mapControl);
	map.addControl(new google.maps.LargeMapControl());

	var point=new google.maps.LatLng(lat,lng);
	var marker=new google.maps.Marker(point);
	//
	map.addOverlay(marker);
	//add a click event to the marker
	GEvent.addListener(marker, "click", function() {
		marker.openInfoWindowHtml(info);
	});

	marker.openInfoWindowHtml(info);
}

function renderLocationMapFromAdress(el,address,zoom,info){
	//load the location based on the adress
	var geocoder = new GClientGeocoder();

	if (geocoder) {
		geocoder.getLatLng(
			address,
			function(point) {
				if (point) {
					google.load("maps", "2", {
						"callback" : function (){
							renderLocationMap('map1_left',point.lat(),point.lng(),14,tooltip)
						}
					});
				}
			});
	}
}

function createLocationMap(id, latitude, longitude, address, tooltip){
	if(latitude == '' || longitude == ''){
		//render the map from the address
		renderLocationMapFromAdress(id, address, 14, tooltip);
	} else {
		google.load("maps", "2", {
			"callback" : function (){
				renderLocationMap(id,latitude,longitude,14,tooltip)
			}
		});
	}
}
