function addMarker(latitude, longitude) {
	markers[markers.length] = new GLatLng(latitude, longitude);
};

function cleanMarkers() {
	markers = new Array();
	if ((typeof(map) !== 'undefined') && null != map) {
		map.clearOverlays();
	}
}

function calculateCenter() {
	var averageLat = 0;
	var averageLng = 0;
	for (i = 0; i < markers.length; i++) {
		averageLat += markers[i].lat();
		averageLng += markers[i].lng();
	}
	averageLat = averageLat / markers.length;
	averageLng = averageLng / markers.length;
	return new GLatLng(averageLat, averageLng);
}

function addMarkers() {
	if (GBrowserIsCompatible() && (typeof(map) !== 'undefined') && null != map) {
		var letter = "";
		setCenterAndZooming();
		map.setMapType(G_NORMAL_MAP);
		map.addControl(new GSmallZoomControl());
		for (i = 0; i < markers.length; i++) {
			letter = String.fromCharCode("A".charCodeAt(0) + i);

			var letteredIcon = new GIcon(G_DEFAULT_ICON);
			letteredIcon.iconSize = new GSize(16, 27);
			letteredIcon.shadow = "http://www.google.com/mapfiles/shadow-mid.png";
			letteredIcon.shadowSize = new GSize(16, 28);
			letteredIcon.iconAnchor = new GPoint(9, 28);
			letteredIcon.image = "http://www.google.com/mapfiles/marker_midblue"
					+ letter + ".png";
			map.addOverlay(new GMarker(markers[i], {
				icon :letteredIcon
			}));
		}

	}
}

function setCenterAndZooming() {
	var minLat = markers[0].lat();
	var minLng = markers[0].lng();
	var maxLat = markers[0].lat();
	var maxLng = markers[0].lng();

	for (i = 1; i < markers.length; i++) {
		if (minLat > markers[i].lat()) {
			minLat = markers[i].lat();
		}
		if (minLng > markers[i].lng()) {
			minLng = markers[i].lng();
		}
		if (maxLat < markers[i].lat()) {
			maxLat = markers[i].lat();
		}
		if (maxLng < markers[i].lng()) {
			maxLng = markers[i].lng();
		}

	}

	var averageLat = 0;
	var averageLng = 0;
	for (i = 0; i < markers.length; i++) {
		averageLat += markers[i].lat();
		averageLng += markers[i].lng();
	}
	averageLat = averageLat / markers.length;
	averageLng = averageLng / markers.length;
	var center = new GLatLng(averageLat, averageLng);

	var sw = new GLatLng(maxLat, minLng);
	var ne = new GLatLng(minLat, maxLng);

	var bound = new GLatLngBounds(sw, ne);
	var zoom = map.getBoundsZoomLevel(bound)
	map.setCenter(center, zoom - 1);
}

function clean(e, defaultValue) {
	if (e.value == defaultValue) {
		e.value = "";
	}
}

function setAllCheckBoxes(formName, fieldName) {
	select_all_area_of_interest = !select_all_area_of_interest;
	if (!document.forms[formName] || !document.forms[formName].elements[fieldName]) {
		return;
	}
	var objCheckBoxes = document.forms[formName].elements[fieldName];
	var countCheckBoxes = objCheckBoxes.length;
	for ( var i = 0; i < countCheckBoxes; i++) {
		objCheckBoxes[i].checked = select_all_area_of_interest;
	}
}

function showMap(count) {
	if (0 == count) {
		document.getElementById("search-results-form:leftColumn2").style.display="none";
	} else {
		document.getElementById("search-results-form:leftColumn2").style.display="";
		if (GBrowserIsCompatible() && (typeof(map) !== 'undefined') && null != map) {
			map.checkResize();
		}
	}
}
