jQuery(document).ready(function() {

        // get the field that holds lat/lon
        var frags = window.location.href.split("\?");
        var urlstr = frags[1];
        frags = urlstr.split("\=");
        var field = window.opener.document.getElementById(frags[1]);

	// draw the map
	var map = new GMap2(document.getElementById("hidden-map"), {size: new GSize(400,400)});
        if(field.value.length) {
                var latlon = field.value;
                frags = latlon.split(", ");
                point = new GLatLng(frags[0],frags[1]);
                map.setCenter(point, 10);
                map.addOverlay(new GMarker(point));
                map.panTo(point);
                msg = "Latitude: "+point.lat()+"<br />Longitude: "+point.lng();
                jQuery("#lat-lon-display").html(msg);
        }
        else {
		map.setCenter(new GLatLng(35.478565, -81.804199), 5);		
	}
	map.setMapType(G_PHYSICAL_MAP);
			
	// set the controls
	map.addControl(new GLargeMapControl());

	GEvent.addListener(map, "click", function(overlay, point){
        	map.clearOverlays();
		if (point) {
			map.addOverlay(new GMarker(point));
                        map.panTo(point);
                        msg = "Latitude: "+point.lat()+"<br />Longitude: "+point.lng();
                        if (window.opener && !window.opener.closed){
                        	field.value = point.lat()+', '+point.lng();
			}
                        jQuery("#lat-lon-display").html(msg);
        	}
	});

	jQuery('#address-lookup').click(function() {
		var geocoder = new GClientGeocoder();
		geocoder.getLatLng(
					jQuery('#address').val(),
                                        function(point) {
						if(!point) {
							alert(jQuery('#address').val() + ' not found.');
						}
						else {
							map.clearOverlays();
							map.setCenter(point, 10);
                					map.addOverlay(new GMarker(point));
                					map.panTo(point);
                					msg = "Latitude: "+point.lat()+"<br />Longitude: "+point.lng();
							if (window.opener && !window.opener.closed){
								field.value = point.lat()+', '+point.lng();
							}
                					jQuery("#lat-lon-display").html(msg);
						}
					}
				);
	});
	// close link

	jQuery("#close-link").click(function() {
		window.close();
		return false;
	});

});

