function handleHttpResponse( pref, addr1, addr2 ) {
  if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {
    document.getElementById( pref ).options[0].selected = true;
    document.getElementById( addr1 ).value = '';
    document.getElementById( addr2 ).value = '';
    var xmlDoc = xmlHttp.responseXML;
    if (xmlDoc.documentElement) {
      var jpref = xmlDoc.getElementsByTagName('pref').item(0).firstChild;
      if (jpref != null) {
        var opts  = document.getElementById( pref ).options;
        for( var i=0; i<opts.length; i++ ) {
            var tpref = opts[i].text;
            opts[i].selected = ( tpref == jpref.data );
        }
      }
      var adr1  = xmlDoc.getElementsByTagName('adr1').item(0).firstChild;
      var adr2  = xmlDoc.getElementsByTagName('adr2').item(0).firstChild;
      if (adr1 != null) document.getElementById( addr1 ).value = adr1.data;
      if (adr2 != null) document.getElementById( addr2 ).value = adr2.data;
    }
  }
}

function getAddrss( zip1, zip2, pref, addr1, addr2 ) {
  var z1 = document.getElementById( zip1 ).value;
  var z2 = document.getElementById( zip2 ).value;
  var zip  = z1 + z2;
  if (zip.length == 7 ) {
    xmlHttp.open('GET', 'ajaxzip.php?z=' + escape(zip), true);
    xmlHttp.onreadystatechange = function () {
      handleHttpResponse( pref, addr1, addr2 );
    };
    xmlHttp.send(null);
  }
}

function getXmlHttpObject() {
  var xmlhttp;
  /*@cc_on
  @if (@_jscript_version >= 5)
    try {
      xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (E) {
        xmlhttp = false;
      }
    }
  @else
    xmlhttp = false;
  @end @*/
  if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
    try {
      xmlhttp = new XMLHttpRequest();
      xmlhttp.overrideMimeType("text/xml");
    } catch (e) {
      xmlhttp = false;
    }
  }
  return xmlhttp;
}

var xmlHttp = getXmlHttpObject();
