function loadDealerListing() {

  	if (GBrowserIsCompatible()) {
  
		// Creates a marker at the given point with the given number label
		function createMarker(point, address) {
			var marker = new GMarker(point);
			GEvent.addListener(marker, "click", function() {
		  		marker.openInfoWindowHtml(address);
			});
			return marker;
		}     
	
		var map = new GMap2(document.getElementById("dealersMap"));       
	
		map.addControl(new GLargeMapControl());
		map.addControl(new GMapTypeControl());
		map.addControl(new GScaleControl());
		
		var geocoder = new GClientGeocoder();
				
		var dealers = $A(document.getElementsByName('theDealers'));       
				
		var centerPoint = null;
		
		dealers.each(function(item) {
		
			var dealer = item.value.split("|");
			
			var name = dealer[0];
			var street1 = dealer[1];
			var street2 = dealer[2];
			var city = dealer[3];
			var state = dealer[4];
			var zip = dealer[5];
			var latitude = dealer[6];
			var longitude = dealer[7];
			
			var address = "";
			
			if(name) {
				address = "<b>" + name + "</b>";
			}            
			if(street1) {
				address = address + "<br>" + street1;
			}
			if(street2) {
				address = address + "<br>" + street2;
			}
			if(city) {
				address = address + "<br>" + city;
			}
			if(state) {
				address = address + ", " + state;
			}            
			if(zip) {
				address = address + " " + zip;
			}           
			if(!latitude || !longitude ) {
			   
			   var lookupAddress = street1 + " " + city + " " + state + " " + zip;		   
			   
			   geocoder.getLatLng(lookupAddress,
                function(newPoint) {
                    if (newPoint) {
                        if(!centerPoint) {
                            centerPoint = new GLatLng(newPoint.lat(), newPoint.lng());
                            map.setCenter(centerPoint,9);
                        }                                                                       
                        var fMarker = createMarker(newPoint,address);                        
                        map.addOverlay(fMarker);
                    }                    
            });                        
			}
			else {
			   if(!centerPoint) {
                centerPoint = new GLatLng(latitude, longitude);
                map.setCenter(centerPoint,9);
            }
			   var point = new GLatLng(latitude, longitude);			   
			   var marker = createMarker(point, address);
			   map.addOverlay(marker);
			}			
		});
  	}
}

function loadDealer() {

  	if (GBrowserIsCompatible()) {
  
		// Creates a marker at the given point with the given number label
		function createMarker(point, address) {
			var marker = new GMarker(point);
			GEvent.addListener(marker, "click", function() {
			  marker.openInfoWindowHtml("<b>Address:</b><br><br>" + address);
			});
			return marker;
		}
  
		var name = $('dealerName').innerHTML;        
		var address1 = $('dealerAddressLine1').innerHTML;
		var address2 = $('dealerAddressLine2').innerHTML;
		var city = $('dealerCity').innerHTML;
		var state = $('dealerState').innerHTML;
		var zip = $('dealerZipcode').innerHTML;
		
		var address = "<b>" + name + "</b><br>" + address1;
		
		if(address2) {        
			address = address + "<br>" + address2;
		}
		
		address = address + "<br>" + city + ", " + state + " " + zip;         
	
		var latitude = $('dealerLatitude').innerHTML;
		var longitude = $('dealerLongitude').innerHTML;        
		
		var geocoder = new GClientGeocoder();
		
		var map = new GMap2(document.getElementById("dealerMap"));
	
		map.addControl(new GLargeMapControl());
	  	map.addControl(new GMapTypeControl());
	  	map.addControl(new GScaleControl());
	  			  
		if(!latitude || !longitude) {
		  var lookupAddress = address1 + " " + city + " " + state + " " + zip;		  
		  geocoder.getLatLng(lookupAddress,
                function(newPoint) {
                    if (newPoint) {              
                        map.setCenter(newPoint, 13);
                        var fMarker = createMarker(newPoint,address);                        
                        map.addOverlay(fMarker);
                        GEvent.trigger(fMarker,"click");
                    }                    
                 }
             );
		} 
		else {
	  	    map.setCenter(new GLatLng(latitude, longitude), 13);
	  
	  	    var point = new GLatLng(latitude, longitude);	
	  	    var marker = createMarker(point, address);	  
	  	    map.addOverlay(marker);
	  	    GEvent.trigger(marker,"click");
	  	}        
  	}
}

function loadDealerSmall() {
   if (GBrowserIsCompatible()) { 
      // Creates a marker at the given point with the given number label
      function createMarker(point, address) {
         var marker = new GMarker(point);
         GEvent.addListener(marker, "click", function() {
           marker.openInfoWindowHtml("<b>Address:</b><br><br>" + address);
         });
         return marker;
      }
  
      var name = $('dealerName').innerHTML;        
      var address1 = $('dealerAddressLine1').innerHTML;
      var address2 = $('dealerAddressLine2').innerHTML;
      var city = $('dealerCity').innerHTML;
      var state = $('dealerState').innerHTML;
      var zip = $('dealerZipcode').innerHTML;
      
      var address = "<b>" + name + "</b><br>" + address1;
      
      if(address2) {        
         address = address + "<br>" + address2;
      }
      
      address = address + "<br>" + city + ", " + state + " " + zip;         
   
      var latitude = $('dealerLatitude').innerHTML;
      var longitude = $('dealerLongitude').innerHTML;        
      
      var geocoder = new GClientGeocoder();
      
      var map = new GMap2(document.getElementById("dealerMap")); 
      
      map.addControl(new GSmallMapControl());
      map.addControl(new GMapTypeControl()); 
      map.addControl(new GScaleControl());        
      if(!latitude || !longitude) {
        var lookupAddress = address1 + " " + city + " " + state + " " + zip;       
        geocoder.getLatLng(lookupAddress,
                function(newPoint) {
                    if (newPoint) {              
                        map.setCenter(newPoint, 12);
                        var fMarker = createMarker(newPoint,address);                        
                        map.addOverlay(fMarker);
                        GEvent.trigger(fMarker,"click");
                    }                    
                 }
             );
      } 
      else {  
          var point = new GLatLng(latitude, longitude);
          map.setCenter(point, 12);  
          var marker = new GMarker(point);    
          map.addOverlay(marker);
          GEvent.trigger(marker,"click");
      }        
    }
}

function popForm() {
  hwin=window.open('', '_hwin', 'resizable=1,width=500,height=410,scrollbars=yes');
  hwin.forward;
  hwin.focus();
  hwin.rwin=top;
  hwin.rwin.helpwin=1;
}