// JavaScript Document

    var marker;
    var map = null;
    var geocoder = null;
	
	function ismaxlength(obj){
	var mlength=obj.getAttribute? parseInt(obj.getAttribute("maxlength")) : ""
	if (obj.getAttribute && obj.value.length>mlength)
	obj.value=obj.value.substring(0,mlength)
	}
	
    function initialize() {
      if (GBrowserIsCompatible()) {
        map = new GMap2(document.getElementById("map_canvas"));
        map.addControl(new GLargeMapControl3D());
        map.addControl(new GMapTypeControl());
		map.setCenter(new GLatLng(9.795678, -25.312500), 1);
		map.setMapType(G_HYBRID_MAP);
		geocoder = new GClientGeocoder();
		var validZoom = 10;
		map.enableGoogleBar();

        
		GEvent.addListener(map, "dblclick", function(overlay, latlng) {
		if(map.getZoom() > validZoom){
			map.clearOverlays();
			
          if (latlng) {
            marker = new GMarker(latlng, {draggable:true});
												
			geocoder.getLocations(latlng, function(addresses) {
			address = addresses.Placemark[0];
			
			var markeraddress = address.address;
			var test = "<div class='info'>Your marker will be placed here.</div>" +
					   "<div class='infotxt'>If you wish to change the location, drag the marker.</div><br />" +
					   "<div class='infotxt'>If you are happy with the position of your marker <a href=\"javascript:void(0)\"onclick=\"new Effect.ScrollTo('form');\">Scroll Down</a> to the form.";
					   
						 
			map.addOverlay(marker);
			marker.openInfoWindowHtml(test);
			document.getElementById("address").value = markeraddress;
			var lat = latlng.lat();
			document.getElementById("lat").value = lat;
			var lng = latlng.lng();
			document.getElementById("lng").value = lng;
			
			
			GEvent.addListener(marker, "dragstart", function() { 
                                map.closeInfoWindow(); 
                        }); 
            GEvent.addListener(marker, "dragend", function() { 
														   
                                var point = marker.getPoint();
								var latlng = marker.getLatLng();
								geocoder.getLocations(latlng, function(addresses) {
								address = addresses.Placemark[0];
								
                                marker.openInfoWindowHtml(test);
								var markeraddress = address.address;
								document.getElementById("address").value = markeraddress;
								var lat = latlng.lat();
								document.getElementById("lat").value = lat;
								var lng = latlng.lng();
								document.getElementById("lng").value = lng;
								});
								});
					GEvent.addListener(marker, "click", function() { 
                                marker.openInfoWindowHtml(test); 
                        }); 

				 });
          }
		}

		else {
					alert("Please zoom in to set your location more precisely.")
				}
        });

      }
	  map.disableDoubleClickZoom();
    }

    function saveData() {
      var name = escape(document.getElementById("name").value);
      var address = document.getElementById("address").value;
      var type = document.getElementById("type").value;
	  var description = document.getElementById("description").value;
	  var url = document.getElementById("url").value;
	  var uname = document.getElementById("uname").value;
	  var email = document.getElementById("email").value;
      var latlng = marker.getLatLng();
      var lat = latlng.lat();
      var lng = latlng.lng();
	  
	  if (name == '' || type == '' || description == '' || email == '')
	  	{
			alert ("Please complete ALL form fields.")
		}
	else
	{

      var url = "addrow.php?name=" + name + "&address=" + address +
                "&type=" + type + "&description=" + description + "&url=" + url + "&uname=" + uname + "&email=" + email + "&lat=" + lat + "&lng=" + lng;
      GDownloadUrl(url, function(data, responseCode) {
        if (responseCode == 200 && data.length <= 1) {
          marker.closeInfoWindow();
		  alert("Thank you, your location has been sent for moderation. Press the Ok button to view the map.")
		   window.location = "index.php";
          //document.getElementById("message").innerHTML = "<b>Location sent for moderation</b> - <a href='index.php'>View the map</a>";
        }
      });
	}
    }