var map = null;
var geocoder = null;
 
function show_map_results() {
	bounds = new GLatLngBounds();
	geocoder = new GClientGeocoder();
	map = new GMap2(document.getElementById("map"));
	map.addControl(new GSmallZoomControl());
	map.setCenter(new GLatLng(56.130366, -106.346771), 3);

	inputs = document.getElementsByTagName("input");
	buffer = "";
	for (i = 0; i < inputs.length; i++) {
		if (inputs[i].type=='hidden' && inputs[i].name=='address') {
			buffer = inputs[i].value;
			buffer2 = buffer.split('|||||');
			showAddress(buffer2[0],buffer2[1],buffer2[2]);
		}
	}
}

function showAddress(address,icon,company) {
	
	if (geocoder) {
		geocoder.getLatLng(address, function(point) {
			var marker = new GMarker(point, new GIcon(G_DEFAULT_ICON, icon));
			bounds.extend(point);
			var infoTabs = [new GInfoWindowTab('Quick View',company)]; 

			GEvent.addListener(marker, 'click', function() {
			marker.openInfoWindowTabsHtml(infoTabs);});
			map.addOverlay(marker);
			centerAndZoomOnBounds(bounds);
		});
	}
}

function centerAndZoomOnBounds(bounds){
	var center = bounds.getCenter();
	var newZoom = map.getBoundsZoomLevel(bounds);
	if (newZoom != '0'){
		if (map.getZoom() != newZoom){
			map.setCenter(center, newZoom);
		}else{
			map.panTo(center);
		}
	}else{
		map.panTo(center);
	}
}



function show_listing_map(address) {
	map = new GMap2(document.getElementById("map"));
	map.addControl(new GSmallZoomControl());
	geocoder = new GClientGeocoder();

	if (geocoder) {
		geocoder.getLatLng( address, 
		function(point) {
			if(point){
				map.setCenter(point, 13);
				var marker = new GMarker(point);
				map.addOverlay(marker);
			} else {
				document.getElementById("map").style.display='none';
			}
		}
		);
	}
}
