// 検索結果画面初期表示用
function setList() {
    var pid    = "0";

    setCityOption(pid);

    document.f1.pid.selectedIndex   = 0;
    document.f1.cid.selectedIndex  = 0;
}

// 都道府県選択時
function changePrefecture(pid)
{
    var cid = "0";
    setCityOption(pid.value);
}

// 市区町村オプション設定
function setCityOption(pid)
{

    len = document.f1.cid.options.length;
    for (i=len-1; i>=0; i--){
        document.f1.cid.options[i] = null;
    }

    //XMLHttpRequestオブジェクト生成
    var xmlhttp = createHttpRequestUrl();
    if (xmlhttp == null) {
        return null;
    }

    var data = "";
    data += "pid=" + pid;

    sendRequestUrl(xmlhttp, "POST", "scripts/menu/getcity.php", false, data, callBack2);

    document.f1.cid.selectedIndex = 0;
}

function callBack2(xmlhttp)
{
    var result = xmlhttp.responseText;

    // ヘッダ部分を削除 safari対策
    result = result.replace(/\<\?xml version=\"1.0\" encoding=\"euc-jp\"\?\>/,"");

    var resArray = result.split(",");
    for (i=0; i<resArray.length; i++) {
        var cityArray = resArray[i].split("/");

        document.f1.cid.options[i] =
             new Option(cityArray[1], cityArray[0]);
    }
}

function callBack(xmlhttp)
{
    var result = document.getElementById("result");
    result.innerHTML = xmlhttp.responseText;
}


function createHttpRequestUrl()
{
    var xmlhttp = null;

    if(window.ActiveXObject){
        try {
        // MSXML2以降用
            xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) {
            try {
                // 旧MSXML用
                xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e2) {

            }
        }
    } else if(window.XMLHttpRequest){
        // Win Mac Linux m1,f1,o8 Mac s1 Linux k3用
        xmlhttp = new XMLHttpRequest();
    } else {

    }
    if (xmlhttp == null) {
        alert("Can not create an XMLHTTPRequest instance");
    }

    return xmlhttp;
} 

// 送受信処理
function sendRequestUrl (xmlhttp, method, url, async, data, callback)
{
    //ブラウザ判定
    var ua = navigator.userAgent;
    var safari  = ua.indexOf("Safari")!=-1;
    var konqueror = ua.indexOf("Konqueror")!=-1;
    var mozes = ((a = navigator.userAgent.split("Gecko/")[1] )
                   ? a.split(" ")[0] : 0) >= 20011128 ;

    // サーバーからの受信処理
    // opera       : onreadystatechange に多重レスバグがあるので onload が安全
    // Moz,FireFox : readyState==3 でも受信するので通常は onload が安全
    // Win ie      : onload が動作しない
    // Konqueror   : onload が不安定
    if (window.opera || safari || mozes) {
        xmlhttp.onload = function ()
        {
            callback(xmlhttp);
        }
    } else {
        xmlhttp.onreadystatechange = function ()
        {
            // サーバーからの応答判定
            //   0 : 初期化されていません
            //   1 : 読み込み中です
            //   2 : 読み込み完了
            //   3 : 双方向に扱えます
            //   4 : すべて完了しました
            if (xmlhttp.readyState == 4) {

                // サーバーの応答コード判定
                //   200 : OK
                if (xmlhttp.status == 200) {
                    callback(xmlhttp);
                } else {
                    alert('There was a problem with the request.');
                }
            }
        }
    }

    // サーバーからの送信処理
    xmlhttp.open(method, url, async);
    xmlhttp.setRequestHeader("Content-Type" , "application/x-www-form-urlencoded");

    xmlhttp.send(data);
}

