// HTTP通信用、共通関数function createXMLHttpRequest(cbFunc){    var XMLhttpObject = null;    try{        XMLhttpObject = new XMLHttpRequest();    }catch(e){        try{            XMLhttpObject = new ActiveXObject("Msxml2.XMLHTTP");        }catch(e){            try{                XMLhttpObject = new ActiveXObject("Microsoft.XMLHTTP");            }catch(e){                return null;            }        }    }    if (XMLhttpObject) XMLhttpObject.onreadystatechange = cbFunc;    return XMLhttpObject;}function $(tagId){    return document.getElementById(tagId);}
var findText = "";

function loadDataFile(fName)
{
    httpObj = createXMLHttpRequest(displayData);
    if (httpObj)
    {
        httpObj.open("GET",fName,true);
        httpObj.send(null);
    }
}

function displayData()
{
    if ((httpObj.readyState == 4) && (httpObj.status == 200))
    {
        $("result").innerHTML = parseJSON(httpObj.responseText);
    }else{
        $("result").innerHTML = '<p style="margin-bottom:1em;"><img src="../image/loading.gif" />読み込み中･･･</p>';        document.getElementById("list_count").firstChild.nodeValue = "-";
    }
}

function parseJSON(jsData)
{    findText = document.listSearch.requestText.value;    var count=1;
    var data = eval("("+jsData+")");
    var resultText = '<table id="datalist"><tr><th>番号</th><th>店名</th><th>郵便番号</th><th>住所</th><th>TEL</th><th>FAX</th><th>営業時間</th></tr>';
    for (var i=0; i<data.list.length; i++)
    {
        listData = data.list[i].Name;        listData += data.list[i].PostalCode;        listData += data.list[i].Address;        listData += data.list[i].Tel;        listData += data.list[i].Fax;        listData += data.list[i].BusinessHours;
                var str = null;        var flag = null;                if(findText.match(' ') || findText.match('　'))        {                        findText = findText.replace(/ +|　+/,' ');            searchTextArray = findText.split(' ');            for(var j=0; j<searchTextArray.length; j++)            {                str = listData.match(searchTextArray[j]);                                if(str){                    flag += 'a';                }else{                    flag += 'b';                }            }                    }else{            str = listData.match(findText);                        flag += (str != null) ? 'a' : 'b';        }        
        function tableCreate(){
            var iName = data.list[i].Name;
            var iPostalCode = data.list[i].PostalCode;            var iAddress = data.list[i].Address;            var iTel = data.list[i].Tel;
            var iFax = data.list[i].Fax;            var iBusinessHours = data.list[i].BusinessHours;                        var iURL = data.list[i].URL;            var iPOS = data.list[i].POS;                        if(count%2 == 0){                resultText += '<tr>';            }else{                resultText += '<tr class="oddline">';            }                                    resultText += '<td>' + count + '</td>';                        if(iURL.match('http')){                resultText += '<td>' + iName + '</td>';                //resultText += '<td><a href="' + iURL + '" rel="nofollow" target=_blank">' + iName + '</a></td>';            }else{                resultText += '<td>' + iName + '</td>';            }                        resultText += '<td>' + iPostalCode + '</td><td>' + iAddress + "</td><td>" + iTel + '</td><td>' + iFax + '</td><td>' + iBusinessHours + '</td></tr>';                        //resultText += '<td>' + iPostalCode + '</td><td>' + iAddress + " <span class=\"link\" onClick=\"javascript:window.open('../map.html?pos=" + iPOS + "', 'map', 'width=500, height=500, status=0, resizable=1');\"><img src=\"../image/button_map.jpg\" /></span></td><td>" + iTel + '</td><td>' + iFax + '</td><td>' + iBusinessHours + '</td></tr>';            count++;
        }                if(!flag.match('b'))tableCreate();
    }    if(count==1)resultText += "<tr><td colspan=\"7\" style=\"font-size:120%;padding:5px;\">※ <span style=\"font-weight:bold\">"+findText+"</span> に一致する情報は見つかりませんでした。<br />別のキーワードを入力して再度検索してください。</td></tr>";
    resultText += "</table>";    $("list_count").firstChild.nodeValue = count-1;        return resultText;
}

/*
function inputCheck()
{
    findText = document.listSearch.requestText.value;
    if (findText != findTextOld) 
    {
        loadDataFile(databaseFile);
        findTextOld = findText;
    }
    setTimeout(" inputCheck()",1000);
}
*/
function addListener(ele,type,func,cap){
    if(ele.addEventListener){
        ele.addEventListener(type,func,cap);
    }else if(ele.attachEvent){
        ele.attachEvent('on'+type,func);
    }else if(ele==window&&type=='load'){
        window.onload=type;
    }else{
        return false;
    }
}