//XMLHttpRequestオブジェクト生成
var xmlHttp = createXmlHttpRequest();

//郵便番号テキストフィールドのonkeyupイベントで実行される処理。リクエストを生成し、レスポンスを取得
function setZip_code(zip_code){

  //リクエストをオープンする。単に設定がおこなわれるだけで実際の送受信はまだ発生しない
  var url = 'backend.php?zip_code='+zip_code;
  xmlHttp.open('GET', url, true);

  //バックエンドプログラムからレスポンスを受信し処理を行うためのコールバック関数を用意しておく
  xmlHttp.onreadystatechange = handleHttpEvent;
　//リクエストを送信
  xmlHttp.send(null);
}

//郵便番号テキストフィールドのonkeyupイベントで実行される処理。リクエストを生成し、レスポンスを取得
function setZip_code_admin(zip_code){

  //リクエストをオープンする。単に設定がおこなわれるだけで実際の送受信はまだ発生しない
  var url = '../backend.php?zip_code='+zip_code;
  xmlHttp.open('GET', url, true);

  //バックエンドプログラムからレスポンスを受信し処理を行うためのコールバック関数を用意しておく
  xmlHttp.onreadystatechange = handleHttpEvent;
　//リクエストを送信
  xmlHttp.send(null);
}

//HTTPレスポンスデータを処理し、XMLを解析しフォームに値をはめこむコールバック関数
function handleHttpEvent(){
  //応答が帰ってきた(xmlHttp.readyState == 4)場合で、サーバ処理が成功(xmlHttp.status == 200)した場合
  if (xmlHttp.readyState == 4 && xmlHttp.status == 200){
    // サーバからの応答をXMLDocumentオブジェクトとして取得
    // ここからはXML解析とフォームにデータをはめ込む処理
    var xmlDoc = xmlHttp.responseXML;
    if (xmlDoc.documentElement){
      //XMLをパース
      var stat = xmlDoc.getElementsByTagName("stat").item(0).firstChild;
      //バックエンドから返ってきたステータスがokの場合
      if (stat.data == "ok"){
        var address = xmlDoc.getElementsByTagName("address").item(0).firstChild;
        //var mess = xmlDoc.getElementsByTagName("mess").item(0).firstChild;
        //各データをテキストボックスにあてはめる
        if (address != null) {
        	document.getElementsByName("address")[0].value = address.data;
        }

        //if (mess != null) document.form1.mess.value = mess.data;
      //バックエンドから返ってきたステータスがngの場合
      }else if(stat.data == "na"){

        //var mess = xmlDoc.getElementsByTagName("mess").item(0).firstChild;
        //メッセージをテキストエリアにあてはめ，住所テキストボックスをクリアーする
        //if (mess != null) document.form1.mess.value = mess.data;

        document.getElementsByName("address")[0].value = "";
      }
    }
  }
}

//ブラウザ別にXMLHttpRequestオブジェクトを生成
function createXmlHttpRequest(){
  var xmlhttp;
  //IEかどうか判定
  /*@cc_on
  @if (@_jscript_version >= 5)
  try{
    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  }catch(e){
    try{
      xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }catch(ex){
      xmlhttp = false;
    }
  }
  @else
    xmlhttp = false;
  @end @*/
　//IE以外
  if (!xmlhttp && typeof XMLHttpRequest != 'undefined'){
    try{
      xmlhttp = new XMLHttpRequest();
      xmlhttp.overrideMimeType("text/xml");
    }catch(e){
      xmlhttp = false;
    }
  }
  return xmlhttp;
}
