var XMLHTTP = createHttpRequest();

//XMLHttpRequestオブジェクト生成
function createHttpRequest(){
	// Win ie用
	if(window.ActiveXObject){
		try{
			// MSXML2以降用
			return new ActiveXObject("Msxml2.XMLHTTP");
		}catch(e){
			try{
				// 旧MSXML用
				return new ActiveXObject("Microsoft.XMLHTTP");
			}catch(e2){
				return null;
			}
		 }
	}else if(window.XMLHttpRequest){
		// Win ie以外のXMLHttpRequestオブジェクト実装ブラウザ用
		return new XMLHttpRequest();
	}else{
		return null;
	}
}

function getServerData(url, outputElement){
	var ret = null;

	// サーバーとの通信を開始
	XMLHTTP.open('GET', url, true);

	// サーバー応答処理の定義
	XMLHTTP.onreadystatechange = function(){
		if(XMLHTTP.readyState == 4){
			if(XMLHTTP.status == 200){
				outputElement.value = getResponseText(XMLHTTP.responseText);
			}else{
				outputElement.value = 'failed';
			}
		}
	}

	// POSTではデータを送らない
	XMLHTTP.send(null);
}

// Safariのみ、一旦エスケープしてからdecodeURIComponentする
function getResponseText(text){
	if ( navigator.appVersion.indexOf("KHTML") > -1 ) {
		var esc = escape(text);
		if ( esc.indexOf("%u") < 0 && esc.indexOf("%") > -1 ) {
			text = decodeURIComponent(esc);
		}
	}
	return text;
}

function setFormQuery(inputElement, icsElement, ocsElement, kanaElement, numberElement){
	var ics = icsElement.value;
	var ocs = ocsElement.value;
	var ka = kanaElement.value;
	var nu = numberElement.options[numberElement.selectedIndex].value;
	var tx = inputElement.value;
	var query = '?ic=' + ics
		+ '&oc=' + ocs
		+ '&k=' + ka
		+ '&n=' + nu
		+ '&t=' + encodeURIComponent(tx);
	return(query);
}

function searchKana(inputElement, outputElement, icsElement, ocsElement, kanaElement, numberElement){
	getServerData('yomi.php'+setFormQuery(inputElement, icsElement, ocsElement, kanaElement, numberElement), outputElement);
	return(true);
}


