$.extend({
  googleMaps: {

    initialize: function(id)  {
      var lng  = $("#" + id).attr("data-geo-lng")
      var lat  = $("#" + id).attr("data-geo-lat")

      var address  = $("#" + id).attr("title")
      var all      = address.split(",")
      var street   = all.shift();
      var region   = all.join(", ")


      var latlng = new google.maps.LatLng(lat, lng);
      var myOptions = {
        zoom: 12,
        center: latlng,
        mapTypeId: google.maps.MapTypeId.ROADMAP
      };
      var map = new google.maps.Map(document.getElementById(id), myOptions);

      var marker = new google.maps.Marker({
        position: latlng,
        title:"Hello World!"
      });

      var infowindow = new google.maps.InfoWindow({
        content: $.googleMaps.getInfoWindowHTML(street, region)
      });


      marker.setMap(map)

      infowindow.open(map, marker);

      google.maps.event.addListener(marker, 'click', function() {
        infowindow.open(map,marker);
      });
    }
    ,

    getInfoWindowHTML: function(street, region)  {
      var form = "<div class='info_html'>"  +
        "<span>" +
          street +
          "<br />" +
          region +
        "</span>" +
        "<form action='http://maps.google.com/maps' method='get' style='width: 230px; height: 140px;'>" + "<br />" +
          "<p>" +
            "<label for='saddr'>Where are you coming from?</label>" + "<br />" + 
            "<textarea name='saddr' id='saddr' value='' ></textarea>" +  
            "<input type='hidden' name='daddr' value='" + street + "," + region +"' />" +  
            "<input type='hidden' name='hl' value='en' />" + 
          "</p>" +  
          "<input type='submit' value='Get Directions' />" + 
        "</form>" + 
        "</div>";
      return form;
    }
  }
});

$(document).ready(function() {
    $("div#dealership_info div.address .interactive_map").each(function () {
      $.googleMaps.initialize(this.id);
    });
});

