﻿var addressLoaded;

function loadMapByAddress(mapCtl, address, city, state, zip, dealerName) {	
  if (GBrowserIsCompatible()) {
    var map = new GMap2(mapCtl);
    addressLoaded = false;
    
	map.addControl(new GSmallMapControl());
	map.addControl(new GMapTypeControl());
	
	showAddress(map, address, city, state, zip, dealerName);
    
    GMap2.prototype.wheelZoom = function(event) 
		{ if((event.detail || -event.wheelDelta) < 0) { map.zoomIn();} else { map.zoomOut();} 
		return false; 
		}
			
    //GEvent.addDomListener(mapCtl, "DOMMouseScroll", map.wheelZoom); 
	//GEvent.addDomListener(mapCtl, "mousewheel", map.wheelZoom); 
  }
  
  return addressLoaded;
}

function showAddress(map, address, city, state, zip, dealerName) {
	var combAddr = address + ', ' + city + ', ' + state + ' ' + zip;

	geocoder = new GClientGeocoder();
	geocoder.getLatLng(
		combAddr,
		function(point) {
			if (!point)
			{
				//alert(combAddr + " not found");
				var mapCtl = document.getElementById('map')
				var nomapCtl = document.getElementById('nomap')
				if(nomapCtl)
				{
					mapCtl.style.display = 'none';
					nomapCtl.style.display = 'block';
				}
			}
			else
			{
				map.setCenter(point, 13);
				
				var marker = new GMarker(point);
				map.addOverlay(marker);
				
				var infoHtml = '<b>' + dealerName + '</b><br />' + address + '<br/>' + city + ', ' + state + ' ' + zip;
				marker.openInfoWindowHtml(infoHtml);
				
				GEvent.addListener(marker, "dblclick", function() {
					map.setCenter(point, map.getZoom());
					});
					
				GEvent.addListener(marker, "click", function() {
		            marker.openInfoWindowHtml(infoHtml);
		          });
          
				map.setZoom(12);
				
			}
		}
	)
}