﻿/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
//XMLオブジェクトの作成
/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*/
function createHttpRequest(){
	//IEの場合
	if(window.ActiveXObject){
		try {
			return new ActiveXObject("Msxml2.XMLHTTP");
		} catch(e) {
			try{
				return new ActiveXObject("Microsoft.XMLHTTP");
			}catch(e2){
				return null;
			}
		}

	//IE以外
	}else if(window.XMLHttpRequest){
		return new XMLHttpRequest();
	}else{
		return null;
	}
}

function getXMLData(callback,sRequest,abAsyn) {

	var brow = getBrow();

	var oj = createHttpRequest();

	oj.open("POST", sRequest,abAsyn);

	//FIREFOXの場合onloadイベントじゃないと取得しない
	if((brow.indexOf("FIREFOX") >= 0)||
		(brow.indexOf("OPERA") >= 0)){
		oj.onload = function(){	callback(oj);}

	}else{
		oj.onreadystatechange = function() {
			if (oj.readyState == 4 && oj.status == 200) {
				callback(oj);
			}
		}
	}

	//IE以外は文字エンコード
	if((brow.indexOf("WINIE7") >= 0)||
	   (brow.indexOf("WINIE") >= 0)||
	   (brow.indexOf("MACSAFARI") >= 0)){
		oj.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=Shift_JIS');
	}else{
		oj.setRequestHeader('Content-Type','application/x-www-form-urlencoded; charset=UTF-8');
	}

	oj.send(null);
}

function getXMLDataDef(callback,asAdd){
	getXMLData(callback,getAllInputRequest(asAdd),false);
}

//全入力情報文字列の作成
function getAllInputRequest(asAdd){

	var sRequest = "";

	if(asAdd != ""){
		sRequest = asAdd + "?";
	}

	//Input
	for(var i = 0 ; i < document.getElementsByTagName("input").length ; i++){

		var sType  = document.getElementsByTagName("input")[i].type;
		var sValue = "";

		//ラジオボタンとチェックボックスの時は
		if(sType == "button" || sType == "submit"){
			sValue = "";
		}else if(sType == "radio" || sType == "checkbox"){
			if(document.getElementsByTagName("input")[i].checked){
				sValue = document.getElementsByTagName("input")[i].value;
			}
		}else{
			if(!document.getElementsByTagName("input")[i].readOnly){
				sValue = document.getElementsByTagName("input")[i].value;
			}
		}

		if(sValue != ""){
			sRequest += document.getElementsByTagName("input")[i].name + "=" + document.getElementsByTagName("input")[i].value + "&";
		}

	}

	//SelectBox
	for(var i = 0 ; i < document.getElementsByTagName("select").length ; i++){
		sRequest += document.getElementsByTagName("select")[i].name + "=" + document.getElementsByTagName("select")[i].value + "&";
	}

	return sRequest + "RANDOM=" + Math.random();

}
