/*
Author: Addam M. Driver
Date: 10/31/2006

Remix: M. Levy for AirCompair.net
Date: 08/05/2008
*/

function load() {
	if (GBrowserIsCompatible()) {
        var map = new GMap2(document.getElementById("map"));
        map.addControl(new GSmallMapControl());
        map.addControl(new GMapTypeControl());
        var center = new GLatLng(40.64532,-73.78564);
        map.setCenter(center, 15);
        geocoder = new GClientGeocoder();
        var marker = new GMarker(center, {draggable: true});  
        map.addOverlay(marker);
        document.getElementById("lat").value = center.lat().toFixed(5);
        document.getElementById("lng").value = center.lng().toFixed(5);

	  	GEvent.addListener(marker, "dragend", function() {
			var point = marker.getPoint();
			map.panTo(point);
			document.getElementById("lat").value = point.lat().toFixed(5);
			document.getElementById("lng").value = point.lng().toFixed(5);
		});

		GEvent.addListener(map, "moveend", function() {
			map.clearOverlays();
			var center = map.getCenter();
			var marker = new GMarker(center, {draggable: true});
			map.addOverlay(marker);
			document.getElementById("lat").value = center.lat().toFixed(5);
			document.getElementById("lng").value = center.lng().toFixed(5);

			GEvent.addListener(marker, "dragend", function() {
				var point =marker.getPoint();
				map.panTo(point);
				document.getElementById("lat").value = point.lat().toFixed(5);
				document.getElementById("lng").value = point.lng().toFixed(5);
        	}); 
        });
	}
}

function showAddress(address) {
	var map = new GMap2(document.getElementById("map"));
    map.addControl(new GSmallMapControl());
    map.addControl(new GMapTypeControl());
    if (geocoder) {
    	geocoder.getLatLng(
        address,
        function(point) {
        	if (!point) {
            	alert(address + " not found");
            }else{
		  		document.getElementById("lat").value = point.lat().toFixed(5);
	   			document.getElementById("lng").value = point.lng().toFixed(5);
		 		map.clearOverlays()
				map.setCenter(point, 14);
   				var marker = new GMarker(point, {draggable: true});  
		 		map.addOverlay(marker);

				GEvent.addListener(marker, "dragend", function() {
      				var pt = marker.getPoint();
	     			map.panTo(pt);
      				document.getElementById("lat").value = pt.lat().toFixed(5);
	     			document.getElementById("lng").value = pt.lng().toFixed(5);
        		});

				GEvent.addListener(map, "moveend", function() {
		  			map.clearOverlays();
    				var center = map.getCenter();
		  			var marker = new GMarker(center, {draggable: true});
		  			map.addOverlay(marker);
		  			document.getElementById("lat").value = center.lat().toFixed(5);
	   				document.getElementById("lng").value = center.lng().toFixed(5);

					GEvent.addListener(marker, "dragend", function() {
     					var pt = marker.getPoint();
	    				map.panTo(pt);
    					document.getElementById("lat").value = pt.lat().toFixed(5);
	   					document.getElementById("lng").value = pt.lng().toFixed(5);
       					});
					});
				}
			}
		);
	}
}
