//XMLHttpRequestオブジェクト生成
function createHttpRequest()
{
	if(window.ActiveXObject)
	{
		try 
		{
			return new ActiveXObject("Msxml2.XMLHTTP");
		} 
		catch (e) 
		{
			try 
			{
				return new ActiveXObject("Microsoft.XMLHTTP");
			} 
			catch (e2) 
			{
				return null;
			}
		 }
	} 
	else if(window.XMLHttpRequest)
	{
		return new XMLHttpRequest();
	} 
	else 
	{
		return null;
	}
}

function requestFile( callback , data , method , fileURL , async ,id)
{
	//XMLHttpRequestオブジェクト生成
	var oj = createHttpRequest()
	if( oj == null ) return null

	//ブラウザ判定
	var ua = navigator.userAgent
	var safari	= ua.indexOf("Safari")!=-1
	var konqueror = ua.indexOf("Konqueror")!=-1
	var mozes	 = ((a=navigator.userAgent.split("Gecko/")[1] )?a.split(" ")[0]:0) >= 20011128 
	
	//Konquerorはonloadが不安定
	if(window.opera || safari || mozes)
	{
	oj.onload = function () { callback(oj,id) }
	}
	else
	{
		oj.onreadystatechange =function () 
		{
			if ( oj.readyState == 4 )
			{
				callback(oj,id)
			}
		}
	}

	if(mozes){
		oj.overrideMimeType("text/plain; charset=shift_jis");
	}

	//open メソッド
	oj.open( method , fileURL , async )

	
	if(method == 'POST')
	{
		//このメソッドがWin Opera8でエラーになったので、とりあえず分岐
		if(!window.opera)
			oj.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')
	}

	//send メソッド
	oj.send(data)

}

//コールバック関数
//	受信時に起動するスクリプト
function onloaded(oj,id)
{

	//受信データをデコード
	//var decdata = decodeURI( oj.responseText )

	//受信データをJavaScriptとして実行(JSON化)
	//eval("var res =" + decdata )

	if(id instanceof Array){
		for(var i in id){
			if(document.getElementById(id[i]).value == undefined){
				document.getElementById(id[i]).innerHTML = oj.responseText;
			}else{
				document.getElementById(id[i]).value = oj.responseText;
			}
		}
	}else{

		if(document.getElementById(id).value == undefined){
			document.getElementById(id).innerHTML = oj.responseText;
		}else{
			document.getElementById(id).value = oj.responseText;
		}
	}

	//document.write(oj.responseText) 

}



