fix window.onload under IE8, #24210
[freeside.git] / httemplate / elements / location.html
index 0f84453..a820bf2 100644 (file)
@@ -179,7 +179,7 @@ Example:
 
 % if ( $opt{enable_coords} ) {
 <TR>
-  <TD ALIGN="right"><% mt('Latitude') |h %></TH>
+  <TD ALIGN="right"><% mt('Latitude') |h %></TD>
   <TD COLSPAN=7>
     <INPUT TYPE  = "text"
            NAME  = "<%$pre%>latitude"
@@ -200,7 +200,7 @@ Example:
 </TR>
 % } else {
 %   foreach (qw(latitude longitude)) {
-<INPUT TYPE="hidden" NAME="<% $_ %>" VALUE="<% $object->get($_) |h%>">
+<INPUT TYPE="hidden" NAME="<% $_ %>" ID="<% $_ %>" VALUE="<% $object->get($_) |h%>">
 %   }
 % }
 <INPUT TYPE="hidden" NAME="<%$pre%>coord_auto" VALUE="<% $object->coord_auto %>">
@@ -219,32 +219,67 @@ Example:
   </TD>
 </TR>
 % }
-% if ( $conf->config('tax_district_method') ) {
-%   if ( $opt{enable_district} ) {
+% if ( $opt{enable_district} and $conf->config('tax_district_method') ) {
   <TR>
     <TD ALIGN="right">Tax&nbsp;district</TD>
     <TD COLSPAN=8>
       <INPUT TYPE="text" SIZE=15
              NAME="<%$pre%>district" 
+             ID="<%$pre%>district"
              VALUE="<% $object->district |h %>">
     <% '(automatic)' %>
     </TD>
   </TR>
-%   } else {
-    <INPUT TYPE="hidden" NAME="<%$pre%>district" VALUE="<% $object->district %>">
-%   }
+% } else {
+    <INPUT TYPE="hidden" ID="<%$pre%>" NAME="<%$pre%>district" VALUE="<% $object->district %>">
 % }
 
 %# For address standardization:
 %# keep a clean copy of the address so we know if we need
 %# to re-standardize
 % foreach (qw(address1 city state country zip latitude
-%             longitude censustract addr_clean) ) {
+%             longitude censustract district addr_clean) ) {
 <INPUT TYPE="hidden" NAME="old_<%$pre.$_%>" ID="old_<%$pre.$_%>" VALUE="<% $object->get($_) |h%>">
 % }
 %# Placeholders
 <INPUT TYPE="hidden" NAME="<%$pre%>cachenum" VALUE="">
 <INPUT TYPE="hidden" NAME="<%$pre%>addr_clean" VALUE="">
+
+<SCRIPT TYPE="text/javascript">
+<&| /elements/onload.js &>
+  var clear_coords_ids = [
+    '<%$pre%>latitude',
+    '<%$pre%>longitude',
+    'enter_censustract',
+    '<%$pre%>district'
+  ];
+  function clear_coords() {
+    for (var i=0; i < clear_coords_ids.length; i++) {
+      var el = document.getElementById(clear_coords_ids[i]);
+      if ( el ) {
+        el.value = '';
+      }
+    }
+  }
+  var clear_coords_on_change = [
+    '<%$pre%>address1',
+    '<%$pre%>address2',
+    '<%$pre%>city',
+    '<%$pre%>state',
+    '<%$pre%>zip',
+    '<%$pre%>country'
+  ];
+  for (var i=0; i < clear_coords_on_change.length; i++) {
+    var el = document.getElementById(clear_coords_on_change[i]);
+    if ( el.addEventListener ) {
+      el.addEventListener('change', clear_coords);
+    } else if ( el.attachEvent ) {
+      el.attachEvent('onchange', clear_coords);
+    }
+  }
+</&>
+</SCRIPT>
+
 <%init>
 
 my %opt = @_;