﻿
var geocoder = new google.maps.Geocoder();

function setLatLng(latLng) {
  setField("Lat", latLng.lat());
  setField("Lng", latLng.lng());
}

function setField(name, value) {
  jQuery("#" + name).val(value);
  jQuery("#" + name + "_display").html(value);
}

function enableGeocodeSearch() {
  jQuery(document).ready(function () {
    jQuery("#SearchAddress").watermark("Address or City or ZIP");

    jQuery("#go_button").click(function (e) {
      jQuery("#Lat, #Lng, #City, #ZipCode, #Address").val('');

      var address = jQuery("#SearchAddress").val();

      if (address.indexOf("TX") == -1)
        address = address + ", TX";

      geocoder.geocode({ 'address': address }, function (results, status) {
        if (status == google.maps.GeocoderStatus.OK) {
          setField("SearchAddress", results[0].formatted_address);
          setLatLng(results[0].geometry.location);
          var city = "";

          for (i = 0; i < results[0].address_components.length; i++) {
            var name = results[0].address_components[i].types[0];
            var value = results[0].address_components[i].long_name;

            if (name == "locality" || (name == "sublocality" && city == "") || (name == "neighborhood" && city == "") || (name == "administrative_area_level_3" && city == "")) {
              setField("City", value);
            }
            else if (name == "postal_code") {
              setField("ZipCode", value);
            }
            else if (name == "route")
              setField("Address", value);
          }
        }

        submit(1);
      });
      e.preventDefault();
    });
  });
}

    

