Index: gcg.js
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/gcg/misc/gcg.js,v
retrieving revision 1.1.2.1
diff -u -p -r1.1.2.1 gcg.js
--- gcg.js        		18 March 2008 14:02:45 -0000      1.1.2.1
+++ gcg.js        		9 Jun 2008 04:58:21 -0000
@@ -131,7 +131,7 @@ Gcg.extractResponse = function (base, placemark, map) {
    $(base + '-longitude').get(0).value = placemark.Point.coordinates[0];
    $(base + '-country').get(0).value = placemark.AddressDetails.Country.CountryNameCode;
    var acc = placemark.AddressDetails.Accuracy;
    if (acc == 5) {
-     $(base + '-postalcode').get(0).value = placemark.AddressDetails.Country.PostalCode.PostalCodeNumber;
+     if (placemark.AddressDetails.Country.AdministrativeArea.SubAdministrativeArea != undefined) {
+	    $(base + '-postalcode').get(0).value = placemark.AddressDetails.Country.AdministrativeArea.SubAdministrativeArea.Locality.PostalCode.PostalCodeNumber;
+	    $(base + '-subadminarea').get(0).value = placemark.AddressDetails.Country.AdministrativeArea.AdministrativeAreaName.SubAdministrativeAreaName;
+       $(base + '-locality').get(0).value = placemark.AddressDetails.Country.AdministrativeArea.SubAdministrativeArea.Locality.LocalityName;
+     } else {
+       $(base + '-postalcode').get(0).value = placemark.AddressDetails.Country.AdministrativeArea.Locality.PostalCode.PostalCodeNumber;  
+       $(base + '-locality').get(0).value = placemark.AddressDetails.Country.AdministrativeArea.Locality.LocalityName;
+     }
+     $(base + '-adminarea').get(0).value = placemark.AddressDetails.Country.AdministrativeArea.AdministrativeAreaName;
    } else if (acc > 1) {
      var adminarea = placemark.AddressDetails.Country.AdministrativeArea.AdministrativeAreaName;
