
/**
 *  created  by 刘浩源
 */
//得到一个hcAjax对象
function hcAjax(){
	this.response=response;
	/**
	*url:访问的目标地址
	*para:type为post方式时，传递的参数. infotype为txt时，格式为&para1=value1&para2=value2&para3=value3
	*                               infotype为xml时，格式为xml对象，或者为字符串。
	*type:提交方式，post；get
	*infotype:txt为普通参数提交，xml为xml格式文档
	*succeed:成功后执行的方法名。如果这里传入了字符，那么直接给以字符串为ID的html对象的innerHTML属性写入返回的字符串。
	*waiting:是否异步执行。
	*returntype:返回结果类型 txt为普通参数提交，xml为xml格式文档 默认为txt
	*/
	
	
	this.request=function(url,para,type,infotype,succeed,waiting,returntype){
	type=type.toLowerCase();
	infotype=infotype.toLowerCase();
		var req=getReq();
		
     	//req.open(type, url, waiting);
		req.onreadystatechange =function(){
			response(req,succeed,infotype,returntype);
     	};
     	//兼容性 原因，全部修改为同步方式
     	req.open(type, url, waiting);
     	if(infotype=="xml"){
     		req.setRequestHeader('Content-type','text/html;charset=UTF-8');
     		if(type=="post"){
     		//alert("??"+getXml(para));

     		req.send( encodeURI(getXml(para)) );
     		}else{
     		req.send( null );
     		}
     		
     		
     	}else{
     		req.setRequestHeader('Content-type','application/x-www-form-urlencoded');
     		if(type=="post"){
     			//document.getElementById('hcwebjsaaa').value=getHcwebStr();
     			//document.getElementById('hcwebjsaaa').value=document.getElementById('hcwebjsaaa').value+"AAAAAAAAAAAAAAAAAAAA"+para;
			req.send(encodeURI(encodeURI(para)));
			}else{
			req.send(null);
			}
     	}
		if(Sys.firefox){
			if(waiting){
		req.onreadystatechange =function(){
			response(req,succeed,infotype,returntype);
     	};
			}else{
				response(req,succeed,infotype,returntype);
			}
		}
	}; 
	function response(req,succeed,infotype,returntype){

		if(req.readyState == 4){
			if (req.status == 200 || req.status == 0) {
				if(returntype){
				    if(returntype=="xml"){
				        if(succeed!=null && succeed!=''){
							succeed(removeBlank(req.responseXML));
						}
					}else{
						if(typeof(succeed)=="string"){
						 	document.getElementById(succeed).innerHTML=(req.responseText);
						}else{
							
							succeed(req.responseText);
						}
					}
				}
				else{
					if(infotype=="xml"){
				        if(succeed!=null && succeed!=''){
							succeed(removeBlank(req.responseXML));
						}
					}else{
						if(typeof(succeed)=="string"){
						 	document.getElementById(succeed).innerHTML=(req.responseText);
						}else{
							
							succeed(req.responseText);
						}
					}
				}
			} else {
        		//alert("HTTP error: "+req.status);
      		}
		}
	};
 
}
//得到一个hcAjax对象结束
//兼容ie ff代码
var Sys = {};
var ua = navigator.userAgent.toLowerCase();
var s;
(s = ua.match(/msie ([\d.]+)/)) ? Sys.ie = s[1] :
(s = ua.match(/firefox\/([\d.]+)/)) ? Sys.firefox = s[1] :
(s = ua.match(/chrome\/([\d.]+)/)) ? Sys.chrome = s[1] :
(s = ua.match(/opera.([\d.]+)/)) ? Sys.opera = s[1] :
(s = ua.match(/version\/([\d.]+).*safari/)) ? Sys.safari = s[1] : 0;

var visionErr="目前代码仅支持ie和firefox！";


//得到一个XMLHttpRequest对象

function getReq(){
var request = false;
if(Sys.ie){
    	var msxmls = new Array('Msxml2.XMLHTTP.5.0','Msxml2.XMLHTTP.4.0','Msxml2.XMLHTTP.3.0','Msxml2.XMLHTTP','Microsoft.XMLHTTP','XMLHttpRequest');
		for (var i = 0; i < msxmls.length; i++)
		{
			try 
			{
				return new ActiveXObject(msxmls[i]);
			} 
			catch (e)
			{
				
			}
		}
    }else if(Sys.firefox){
		return new XMLHttpRequest(); 
    }else{
    	alert(visionErr);
    } 
	return null;
}
//得到一个XMLHttpRequest对象结束

function getXMLObj(){//得到一个xml文档对象
	if(Sys.ie){
     return new ActiveXObject("Msxml2.DOMDocument");
     }else if(Sys.firefox){
     return   document.implementation.createDocument("", "", null);
     }else{
     alert(visionErr);
     }
}

function removeBlank(theItems){//去掉空白节点
	if(typeof(theItems)=="string"){return theItems}
    if(Sys.ie){
    return theItems;
    }else if(Sys.firefox){
       
		if(theItems!=null && theItems.hasChildNodes()){
			for (var i=0; i<theItems.childNodes.length; i++) {
				if (theItems.childNodes[i].nodeType == 3 
		        && theItems.childNodes[i].nodeName=="#text"
		        && theItems.childNodes.length>1 ) {
		            theItems.removeChild(theItems.childNodes[i]);
		        }else{
		        	theItems.childNodes[i]=removeBlank(theItems.childNodes[i]);
		        }
		    }
	    }
	    return theItems;
    }else{
    	alert(visionErr);
    }
}

function getXml(oNode) {//得到某个节点的字符串
	if(typeof(oNode)=="string"){return oNode}
	if(Sys.ie){
    	return oNode.xml;
    }else if(Sys.firefox){
		var oSerializer = new XMLSerializer(); 
		return oSerializer.serializeToString(oNode);
    }else{
    	alert(visionErr);
    }
	
}
function setNodeText(oNode,theText) {//设置文本节点的内容
	if(Sys.ie){
    	oNode.text=theText;
    }else if(Sys.firefox){
		oNode.textContent=theText;
    }else{
    	alert(visionErr);
    }
}

function loadScript(src, callback) {
	var script = document.createElement("script");   
	  
	if(script.addEventListener)   
		script.addEventListener("load", callback, false);   
	else if(script.attachEvent)   
		script.attachEvent("onreadystatechange", function() { loadScript.callbackIE(callback); });   
	  
		script.src = src;   
		document.getElementsByTagName("head")[0].appendChild(script);   
	}
loadScript.callbackIE = function(callback) { 
		var target = window.event.srcElement;
		if(target.readyState == "loaded" ||target.readyState == "complete")
		callback.call(target);   
};

//兼容ie ff代码
function testestest(){
alert("sfss");	

return false;
}
