//XMLHttpRequestオブジェクト生成
var xmlHttp = createXmlHttpRequest();

//テキストフィールドのonkeyupイベントで実行される処理。リクエストを生成し、レスポンスを取得
function ajax_Suggest(keyword){
  //リクエストをオープンする。単に設定がおこなわれるだけで実際の送受信はまだ発生しない
  var url = 'search_backend.php?q='+encodeURIComponent(keyword);

  xmlHttp.open('GET', url, true);

  //バックエンドプログラムからレスポンスを受信し処理を行うためのコールバック関数を用意しておく
  xmlHttp.onreadystatechange = handleHttpEvent;

　//リクエストを送信
  xmlHttp.setRequestHeader("Content-Type" , "application/x-www-form-urlencoded");
  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 kuramoto = xmlDoc.getElementsByTagName("kuramoto").item(0).firstChild;
			var brand = xmlDoc.getElementsByTagName("brand").item(0).firstChild;

			//バックエンドから返ってきたステータスがokの場合
			var suggestBox = "";
			if (kuramoto.data > 0) {

				//各データをsuggestBoxに入力
				suggestBox += "<ol>\n";
				suggestBox += "<li><strong>蔵元検索</strong></li>\n";
				
				for (i=1 ; i<=kuramoto.data ; i++) {
					var company_name = xmlDoc.getElementsByTagName("company_name_"+i).item(0).firstChild;
					var company_key = xmlDoc.getElementsByTagName("company_key_"+i).item(0).firstChild;
					suggestBox += "<li><a href='/kura/?ck="+company_key.data+"'>"+company_name.data+"</a></li>\n";
				}
		
				suggestBox += "</ol>\n";		
			}

			if (kuramoto.data > 0) {

				//各データをsuggestBoxに入力
				suggestBox += "<ol>\n";
				suggestBox += "<li><strong>銘柄検索</strong></li>\n";
				
				for (i=1 ; i<=brand.data ; i++) {
					var brand_name = xmlDoc.getElementsByTagName("brand_name_"+i).item(0).firstChild;
					var brand_key = xmlDoc.getElementsByTagName("brand_key_"+i).item(0).firstChild;
					suggestBox += "<li><a href='/sake/brand_detail.php?brand_key="+brand_key.data+"'>"+brand_name.data+"</a></li>\n";
				}
		
				suggestBox += "</ol>\n";		
			}

			//バックエンドから返ってきたステータスがNGの場合
			if (kuramoto.data != 0 || brand.data != 0) {
				document.getElementById("Suggest").innerHTML = suggestBox;
				document.getElementById("Suggest").style.display = "block";
				return false;
			} else {
				document.getElementById("Suggest").innerHTML = "";
				document.getElementById("Suggest").style.display = "none";
				return false;
			}


		} else {
	
			document.getElementById("Suggest").innerHTML = "<ol><li>"+xmlDoc.documentElement+"</li></ol>";
			document.getElementById("Suggest").style.display = "block";
	
		}
	}
}

//ブラウザ別に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;
}

