var index = -1;
var XML_ZIPCODE;
var queryStr;
var selectedQueryStr;

function setListBox(e, str) {
	box = document.getElementById("list");
	text = document.frm_search.sword;
	list_div = box.contentWindow.document.getElementById("list_div");
	if(str) {
		if(!(e.keyCode == 38 || e.keyCode == 40)) {
			queryStr = text.value;
			index = -1;
			xmlhttp = XMLHTTP();
			with(xmlhttp) {
				open("POST", "search.php", false);
				setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
				send("sword=" + encodeURIComponent(str));
				xml = responseXML;
			}
			XML_ZIPCODE = xml.getElementsByTagName("ZIPCODE");			
			html = new String;
			for(i = 0; i < XML_ZIPCODE.length; i++) {
				html += "<div id='no_" + i + "' style='width:100%; height:15px; cursor:hand; padding:1px;'";
				html += "onmouseover=\"if(parent.index>-1&&parent.index!=" + i + "){document.getElementById('no_' + parent.index).style.backgroundColor='';} parent.index=" + i + ";this.style.backgroundColor='#FFFFFF';parent.selectedQueryStr='" + XML_ZIPCODE.item(i).getAttribute('ADDR') + "';\" ";
				html += "onmouseout=\"parent.index=-1;this.style.backgroundColor=''\" "; 
				html += "onclick=\"parent.document.frm_search.sword.value='" + XML_ZIPCODE.item(i).getAttribute("ADDR") + "';parent.document.frm_search.submit();\">";
				html += XML_ZIPCODE.item(i).getAttribute("ADDR").toUpperCase().replace(str.toUpperCase(), "<font color='#FF8400'>" + str.toUpperCase() + "</font>") + "</div>";
			}
			list_div.innerHTML = html;
			if(index == -1) box.style.display = "inline";
		} else {
			if(e.keyCode == 40 && index < XML_ZIPCODE.length - 1) {
				with(box.contentWindow.document) {
					if(index > -1) getElementById("no_" + index).style.backgroundColor = "";
					getElementById("no_" + ++index).style.backgroundColor = "#FFFFFF";
					text.value = XML_ZIPCODE.item(index).getAttribute("ADDR");
					body.scrollTop = Math.floor(index / 5) * 75;
				}
				box.style.display = "inline";
			} else if(e.keyCode == 38) {
				if(index > 0) {
					with(box.contentWindow.document) {
						getElementById("no_" + index).style.backgroundColor = "";
						getElementById("no_" + --index).style.backgroundColor = "#FFFFFF";
						text.value = XML_ZIPCODE.item(index).getAttribute("ADDR");
						body.scrollTop = Math.floor(index / 5) * 75;
					}
				} else {
					index = -1;
					box.style.display = "none";
					text.value = queryStr;
				}
			}
		}
	}
	else box.style.display = "none";
}

function removeListBox() {
	box = document.getElementById("list");
	box.style.display = "none";
}

function XMLHTTP() {
	try	{
		xmlhttp = new ActiveXObject("MSXML2.XMLHTTP");
	}
	catch(e) {
		xmlhttp = new XMLHttpRequest();
	}
	return xmlhttp;
}

var FL1;

function W_Resize(){
	var CW = document.body.clientWidth;
	
	FL1 = (CW - 1010) / 2 + 810; 	

	document.all.list.style.left = FL1 - 55;
}

function js_han_split_string(string){	
	var re_arr = new Array();
	for(var i=0,m=string.length;i<m;i++){
		re_arr.push(js_han_split(string.charAt(i)));
	}
	frm_search.h_query.value = re_arr;
	return re_arr;		
}

function js_han_split(char){
	var char_st = 44032;
	var char_ed = 55203;
	var arr_1st=new Array("ぁ","あ","い","ぇ","え","ぉ","け","げ","こ","さ","ざ","し","じ","す","ず","せ","ぜ","そ","ぞ");
	var arr_2nd=new Array("た","だ","ち","ぢ","っ","つ","づ","て","で","と","ど","な","に","ぬ","ね","の","は","ば","ぱ","ひ","び");
	var arr_3th=new Array("","ぁ","あ","ぃ","い","ぅ","う","ぇ","ぉ","お","か","が","き","ぎ","く","ぐ","け","げ","ご","さ","ざ","し","じ","ず","せ","ぜ","そ","ぞ");

	//======================================================
	if(char.length>2){char=char.charAt(0);}
	var uninum = char.charCodeAt(0);

	if(uninum < char_st || uninum > char_ed){
		var return_arr = char;
		return return_arr;
	}

	var uninum2 = uninum-char_st;
	var arr_1st_v = Math.floor(uninum2/588);
	uninum2 = uninum2%588;
	var arr_2nd_v = (Math.floor(uninum2/28));
	uninum2 = (uninum2%28);
	var arr_3th_v = uninum2;
	var return_arr=new Array(arr_1st[arr_1st_v],arr_2nd[arr_2nd_v],arr_3th[arr_3th_v]);
	return return_arr;
}