/* --- googlemaps --- */

var map;
var geocoder;

function load() {
	
	map = new GMap2(document.getElementById("map"));
	map.addControl(new GSmallMapControl());
	map.addControl(new GMapTypeControl());
	map.setCenter(new GLatLng(52, 8), 9);
	geocoder = new GClientGeocoder();

} 


// addAddressToMap() is called when the geocoder returns an
// answer.  It adds a marker to the map with an open info window
// showing the nicely formatted version of the address and the country code.
   
function addAddressToMap(response) {
     map.clearOverlays();
    
     place = response.Placemark[0];
     point = new GLatLng(place.Point.coordinates[1],
                            place.Point.coordinates[0]);
     marker = new GMarker(point);
     map.addOverlay(marker);
     marker.openInfoWindowHtml(place.address + '<br>' +
     place.AddressDetails.Country.CountryNameCode);
    
}


    // showLocation() is called when you click on the Search button
    // in the form.  It geocodes the address entered into the form
    // and adds a marker to the map at that location.
    
	function showLocation() {
    
		var address = document.forms[1].q.value;
		geocoder.getLocations(address, addAddressToMap);
    
}

   // findLocation() is used to enter the sample addresses into the form.
    
	function findLocation(address) {
		document.forms[1].q.value = address;
		showLocation();

}


/* --- attach functions to objects --- */

function addEvent(obj, evType, fn){ 
	if (obj.addEventListener){ 
		obj.addEventListener(evType, fn, false); 
		return true; 
	} else if (obj.attachEvent){ 
		var r = obj.attachEvent("on"+evType, fn); 
		return r; 
	} else { 
		return false; 
	} 
}



addEvent(window, 'load', load);

