function checkBrowse(){
	if(!window.XMLHttpRequest){
		window.XMLHttpRequest=function(){
			var xmlHttp=null;
			var progids=['Microsoft.XMLHTTP', 'MSXML2.XMLHTTP.5.0', 'MSXML2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP'];
			for(var i=0;i<progids.length;i++){
				try{
					xmlHttp=new ActiveXObject(progids[i]);
					break;
				}
				catch(e){}
			}
			if(xmlHttp==null){
				//alert('�޷���������');
			}
			return xmlHttp;
		};
	}
}
checkBrowse();

function postData(url,postValue,fun,method){
	var xmlObj = null;
	if(window.XMLHttpRequest){
		xmlObj = new XMLHttpRequest();
	}
	else {
		return;
	}
	var async=false;
	method=method=='GET'?'GET':'POST';
	if(typeof(fun)=='function')async=true;
	if(async) xmlObj.onreadystatechange = doData;
	xmlObj.open (method, url, async);
	xmlObj.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	xmlObj.send (postValue);
	if(!async){
		return getData();
	}

	var textScripts=[];
	function doScript(str){
		var regStr='<script(.*?)>((.|\n|\r)*?)<\/script.*?>';
		var regStr2='src="(.*?)"';
		var reg1=new RegExp(regStr,'img');
		var reg2=new RegExp(regStr,'im');
		var regSrc=new RegExp(regStr2,'im');
		var scripts=str.match(reg1);
		if(!scripts) return;
		for(var i=0;i<scripts.length;i++){
			var script=scripts[i].match(reg2);
			var jsSrc=script[1];
			var jsContent=script[2];
			var src=jsSrc.match(regSrc);
			if(src){
				//alert(src[1]);
				//appendScript(src[1]);
			}
			else{
				//alert(jsContent);
				jsContent+='\n';
				textScripts.push(jsContent);
			}
		}
		setTimeout(delayScript,1);
	}
	
	function delayScript(){
		for(var i=0;i<textScripts.length;i++){
			if(window.execScript)window.execScript(textScripts[i]);
			else setTimeout(textScripts[i],0);
		}
	}

	function getData(){
		if(xmlObj.getResponseHeader('Content-Type')=='text/xml')
			return xmlObj.responseXML;
		else{
			var str=xmlObj.responseText;
			doScript(str);
			return xmlObj.responseText;
		}
	}

	function doData(){
		if(xmlObj.readyState!=4){
			return;
		}
		if(xmlObj.status==200){
			fun(getData());
			xmlObj.onreadystatechange=function(){};
			xmlObj.abort();
			xmlObj=null;
			delete xmlObj;
		}
		else{
			fun(null);
			xmlObj.onreadystatechange=function(){};
			xmlObj.abort();
			xmlObj=null;
			delete xmlObj;
		}
	}
}
