var httpobj;
var param1,param2;

function initHttpRequest(){
    try{
        if(window.XMLHttpRequest){
            return new XMLHttpRequest();
        }else{
            if(window.ActiveXObject){
                try{
                    return new ActiveXObject("Msxml2.XMLHTTP");
                } catch(e) {
                    return new ActiveXObject("Microsoft.XMLHTTP");
                }
            }else{
                return false;
            }
        }
    }catch(e){
        return false;
    }
}

function getFile( callback, url, p1, p2 )
{
	var date = new Date();
	var timestamp = date.getTime();
	var ad;

	if(!httpobj)
		httpobj = initHttpRequest();

	param1=p1;
	param2=p2;

	if(url.indexOf("?")>-1)
		httpobj.open( "GET", url+'&tm='+timestamp , true );
	else
		httpobj.open( "GET", url+'?tm='+timestamp , true );
//	httpobj.open( "GET", url , false );
//	debugPrint("Starting->"+url);
	httpobj.onreadystatechange = function(){
		dd = new Date();
//		debugPrint(dd.toLocaleString()+":ReadyState->"+httpobj.readyState);
		if (httpobj.readyState==4){
			switch(httpobj.status){
			case 200:
				if(callback)
					callback(httpobj,param1,param2);
				break;
			case 12029:
				alert("サーバーに接続できませんでした。ウィンドウを閉じ、サーバーとの接続を確認した上で再試行してください。");
				break;
			default:
				alert("xmlHTTPエラー：ステータスコード"+httpobj.status);
				break;
			}
		}
	}
	httpobj.send('');
}


//同期型
function getFile2(url)
{
	var date = new Date();
	var timestamp = date.getTime();

	if(!httpobj)
		httpobj = initHttpRequest();

//	httpobj.open( "GET", url , true );
	httpobj.open( "GET", url+'&tm='+timestamp , false );
//	debugPrint("Starting->"+url);
	httpobj.send('');
	if (httpobj.readyState==4){
		switch(httpobj.status){
		case 200:
			return httpobj.responseText;
			break;
		case 12029:
			alert("サーバーに接続できませんでした。ウィンドウを閉じ、サーバーとの接続を確認した上で再試行してください。");
			break;
		default:
			alert("xmlHTTPエラー：ステータスコード"+httpobj.status);
			break;
		}
	}
	return null;
}
