var map = null;
var geocoder = new GClientGeocoder();

var baseicon = new GIcon();
//baseicon.shadow = "http://labs.google.com/ridefinder/images/mm_20_shadow.png";
baseicon.iconSize = new GSize(12, 20);
//baseicon.shadowSize = new GSize(22, 20);
baseicon.iconAnchor = new GPoint(6, 20);
baseicon.infoWindowAnchor = new GPoint(5, 1);

var iconred = "http://labs.google.com/ridefinder/images/mm_20_red.png"
var iconwhite = "http://labs.google.com/ridefinder/images/mm_20_white.png"
var iconblue = "http://labs.google.com/ridefinder/images/mm_20_blue.png"
var iconorange = "http://labs.google.com/ridefinder/images/mm_20_orange.png"
var iconpurple = "http://labs.google.com/ridefinder/images/mm_20_purple.png"
var iconyellow = "http://labs.google.com/ridefinder/images/mm_20_yellow.png"


    function loadmap(lat, lng, zoom) {
	var divmap = document.getElementById('map');
	divmap.style.display = 'block';
	var divformsub = document.getElementById('divformsub');
	if (GBrowserIsCompatible()) {
		if (!map) {
			map = new GMap2(divmap);
			map.addControl(new GLargeMapControl());
			map.addControl(new GMapTypeControl());
			GEvent.addListener(map, "click", function(marker, point) {
			    map.clearOverlays();
			  if (marker) {
				divformsub.style.display = 'none';
			    map.removeOverlay(marker);
			   addValueToForm('','');
  			} else {
				divformsub.style.display = 'block';
			    	map.addOverlay(new GMarker(point, {draggable: true}));
				var longlat = point.toString().split(',')
				addValueToForm(longlat[0].replace(/\(/g,''), longlat[1].replace(/\)/g,''));

			  }
			});
		}
			zoom = zoom || 12;
			if (lat || lng) {
				map.clearOverlays();
				point = new GLatLng(lat, lng);
				if (lat==0 && lng==0) map.setCenter(point, 1, G_HYBRID_MAP);
				else {
				if (lng) document.postmap["lng"].value= lng;
	  			if (lat) document.postmap["lat"].value= lat;
				document.coordlocation["coordlong"].value= lng;
	  			document.coordlocation["coordlat"].value= lat;
				divformsub.style.display = 'block';
				map.setCenter(point, zoom, G_HYBRID_MAP);
				map.addOverlay(new GMarker(point, {draggable: true}));
				}
			} 
		return true;
	}
	return false;

      }

    function loadmapuser(lat, lng, zoom) {
	var divmap = document.getElementById('map');
	divmap.style.display = 'block';
	if (GBrowserIsCompatible()) {
		if (!map) {
			map = new GMap2(divmap);
			map.addControl(new GSmallZoomControl());
			GEvent.addListener(map, "click", function(marker, point) {
			    map.clearOverlays();
			  if (marker) {
			    map.removeOverlay(marker);
			   addValueToFormUser('','');
  			} else {
			    	map.addOverlay(new GMarker(point, {draggable: true}));
				var longlat = point.toString().split(',')
				addValueToFormUser(longlat[0].replace(/\(/g,''), longlat[1].replace(/\)/g,''));

			  }
			});
		}
			zoom = zoom || 13;
			if (lat || lng) {
				map.clearOverlays();
				point = new GLatLng(lat, lng);
				if (lat==0 && lng==0) map.setCenter(point, 1, G_NORMAL_MAP);
				else {
				if (lng) document.preferences["lng"].value= lng;
	  			if (lat) document.preferences["lat"].value= lat;
				map.setCenter(point, zoom, G_NORMAL_MAP);
				map.addOverlay(new GMarker(point, {draggable: true}));
				}
			} 
		return true;
	}
	return false;

      }


function addValueToForm(lat, lng) {
	document.postmap["lng"].value= lng;
	document.postmap["lat"].value= lat;
	document.coordlocation["coordlong"].value= lng;
	document.coordlocation["coordlat"].value= lat;
}

function addValueToFormUser(lat, lng) {
	document.preferences["lng"].value= lng;
	document.preferences["lat"].value= lat;
}