////////////////////////////////////////////////
//
//	异步获取数据　ajax data lib(2007-11-17 15:00)
//
////////////////////////////////////////////////
//
// ajax是通过地址栏来响应请求的，如果地址栏没有变化就不会再响应
// 用post就没有了,用get就有
// 在请求地址后加个rand值
//
////////////////////////////////////////////////
//
// Math.random()生成一个0-1之间的随机数 
// Math.random()*(200-50)生成一个0-150之间的随机数 
// Math.random()*(200-50)+50生成一个50-200之间的随机数
//
///////////////////////////////////////////////
var isIE = false;
var con = null;
var xmlhttp = null;
var reqResult = null;

function getXmlHttp()
{
	if(window.ActiveXObject)   
	{   
		isIE = true;
		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");   
    }     
    else if(window.XMLHttpRequest)
    {   
		xmlhttp = new XMLHttpRequest();
    }
}

// 使用　get 方法获取 respons　输出
// url 输出内容的页面地址 
function getByGetMethod( url )
{
	getXmlHttp();
	//xmlhttp.setRequestHeader("If-Modified-Since",new Date(0));
	//该setRequestHeader(DOMString header，DOMString value)方法
	// 用来设置请求的头部信息。当readyState值为1时，
	//你可以在调用open()方法后调用这个方法；否则，你将得到一个异常。

	try
	{
	
		var rnd = Math.random()*(1000-1);
		if( url.indexOf("?") >= 0 )
		{
			url = url + "&r=" + rnd;
		}
		else
		{
			url = url + "?r=" + rnd;
		}

		xmlhttp.onreadystatechange=onReadyStateChange;
        xmlhttp.open( "GET",url,  true);
        xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

		// 发送请求
		xmlhttp.send( null );
	
	}
    catch( err )
    {
		reqResult = "加载超时或失败，请稍后再试。";
   }
   //reqResult = xmlhttp.responseText;
   //alert(reqResult)
}

function onReadyStateChange()
{
	var state = xmlhttp.readyState;
    if( state == 4 )
    {
		reqResult = xmlhttp.responseText;
    }
    else
    {
		reqResult = "<div style='padding:12px;'><img src='/icon/waiting.gif' hspace='10' align=absmiddle>正在加载("+state+")......</div>";
    }
	if( con )
	{
		con.innerHTML = reqResult;
	}
}

// 使用　get 方法获取 respons　输出
// url 输出内容的页面地址 
// parms post方式发送的参数值
function getByPostMethod( url, parms )
{
	var xmlhttp = getXmlHttp();
	xmlhttp.open("POST", url, false); 
	
	xmlhttp.setrequestheader("content-length", parms.length); 
	xmlhttp.setrequestheader("content-type", "application/x-www-form-urlencoded"); 
	xmlhttp.send(parms);
	
	reqResult= xmlhttp.responseText;
    xmlhttp=null;
}
// 获取Html信息
// url 输出内容的页面地址 
// parms post方式发送的参数值
function getHtml( url, parms )
{
	if( parms == null || parms == "" )
	{
		getByGetMethod( url );
	}
	else
	{
		getByPostMethod( url, parms );
	
	}
	return reqResult;
}

// 以get方式请求并填充指定的容器
// barId 容器ID
// url 请求地址
function fillTo( barId, url )
{
	con = document.getElementById( barId );
	if( !con )
	{
		alert( "指定容器:" + barId + " 不存在" ) 
		return; 
	}
	getHtml( url, null );
	return con;
}

// 以get方式请求一个地址
// url 地址
function sendTo( url )
{
	getHtml( url, null );
	if( reqResult != null )
	{
		return reqResult;
	}
	return "req is null";
}

function getText( url )
{
		getXmlHttp();
		var rnd = Math.random()*(1000-1);
		if( url.indexOf("?") >= 0 )
		{
			url = url + "&r=" + rnd;
		}
		else
		{
			url = url + "?r=" + rnd;
		}

        xmlhttp.open( "GET",url,  false);
        //xmlhttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
		// 发送请求
		xmlhttp.send( null );
		
		var text = xmlhttp.responseText;
		xmlhttp = null;
		return text;
}