/* ◎◇UTF8 */

/*{
-------------------------------------------------------------------------------
Type:Object
Topic.
	非同期HTTPリクエストオブジェクトを取得
MakeBy
	1.00	2006/12/06	hical_satow
-------------------------------------------------------------------------------
}*/
window.async = {

/*{
-------------------------------------------------------------------------------
Type:Function
Topic.
	非同期HTTPリクエストオブジェクトを取得
Return
	非同期HTTPリクエストオブジェクト
MakeBy
	1.00	2006/12/06	hical_satow
-------------------------------------------------------------------------------
}*/
httpRequest: function(  )
{
	var oRequest = 0;
	if ( window.XMLHttpRequest ) {
		oRequest = new XMLHttpRequest(  );
	}
	else if ( window.ActiveXObject ) {
		oRequest = new ActiveXObject( 'Msxml2.XMLHTTP' );
		if ( ! oRequest ) {
			oRequest = new ActiveXObject( 'Microsoft.XMLHTTP' );
		}
	}
	if ( ! oRequest ) {
		return ( undefined );
	}
	return ( oRequest );
},

/*{
-------------------------------------------------------------------------------
Type:Function
Topic.
	非同期HTTPリクエストオブジェクトを呼び出し
Parameter
Return
	非同期HTTPリクエストオブジェクト
MakeBy
	1.00	2006/12/12	hical_satow
-------------------------------------------------------------------------------
}*/
get: function( url, fnc )
{
	var oRequest = this.httpRequest(  );
	if ( ! oRequest ) {
		return ( undefined );
	}
	oRequest.onreadystatechange = fnc;
	oRequest.open( 'GET', url, 1 );
	oRequest.send( null );
	return ( oRequest );
},

/*{
-------------------------------------------------------------------------------
Type:Function
Topic.
	ステータスが有効かを判定
Parameter
Return
	非同期HTTPリクエストオブジェクト
MakeBy
	1.00	2006/12/12	hical_satow
-------------------------------------------------------------------------------
}*/
isReady: function( oRequest )
{
	if ( ! oRequest ) {
		return ( false );
	}
	if ( 4 != oRequest.readyState ) {
		return ( false );
	}
	if ( 200 != oRequest.status ) {
		return ( false );
	}
	return ( true );
},

/*{
-------------------------------------------------------------------------------
Type:Function
Topic.
	リクエストを流し込む
Parameter
	非同期HTTPリクエストオブジェクト
Return
	処理が終了すれば 0。
	準備が出来ていなければ正の値。
	エラーで負の値。特にステータスが異常であれば ステータス * -1 の値を返す
MakeBy
	1.00	2006/12/12	hical_satow
-------------------------------------------------------------------------------
}*/
showHTML: function( elem, oRequest )
{
	if ( ! oRequest ) {
		return ( 1 );
	}
	if ( 4 != oRequest.readyState ) {
		return ( 1 );
	}
	if ( 200 != oRequest.status ) {
		return ( -oRequest.status );
	}
	var html = oRequest.responseText;
	elem.innerHTML = html;
	return ( 0 );
}


};	/* window.async */
