//系统Ajax全局变量
function Ajax(){
  this.HttpRequest = false; 
//Create XMLHttpRequest object
  this.CreateXMLHttpRequest = function (){
        try { 
    	    this.HttpRequest = new ActiveXObject("Msxml2.XMLHTTP"); 
        } catch (e) { 
   	 	    try { 
    		    this.HttpRequest = new ActiveXObject("Microsoft.XMLHTTP"); 
    	    } catch (e) { 
    		    this.HttpRequest = false; 
    	    } 
        }
        if (!this.HttpRequest && typeof XMLHttpRequest!='undefined') { 
    	    this.HttpRequest = new XMLHttpRequest();
        }
    }
    /*Call page results page data
        URL: Handle Page Link Url;
    */
   this.DataReader = function(URL,senderNode){
        //Get creater new ajax object        
        this.CreateXMLHttpRequest();
        
        if(URL.indexOf('?')<0){
	        URL+="?now="+ new Date().getTime();
	    }else{
	        URL+="&now="+ new Date().getTime(); 
	    }
    	
	    this.HttpRequest.open("GET", URL, true);
    	
	    var param = arguments.length>2 ? arguments[2]:"Reader";
	    //Loading
	    if(param=="Reader")
            Loading();
        //Asynchronous call method
        this.HttpRequest.onreadystatechange = function() {
            if (HttpRequest.readyState == 4 && HttpRequest.status == 200) {
                Processor(this.HttpRequest.responseText,senderNode,param);
	        }
        }
	    this.HttpRequest.send(null);
    }
    this.PageReader = function(URL,Method){
        //Get creater new ajax object        
        this.CreateXMLHttpRequest();
        if(URL.indexOf('?')<0){
	        URL+="?now="+ new Date().getTime();
	    }else{
	        URL+="&now="+ new Date().getTime(); 
	    }
	    this.HttpRequest.open("GET", URL, true);
        //Asynchronous call method
        this.HttpRequest.onreadystatechange = Method;
	    this.HttpRequest.send(null);
    }
}



//======================================AJAX================================================
function GetO(){
    var ajax=false; 
    try { 
    	ajax = new ActiveXObject("Msxml2.XMLHTTP"); 
    } catch (e) { 
   	 	try { 
    		ajax = new ActiveXObject("Microsoft.XMLHTTP"); 
    	} catch (E) { 
    		ajax = false; 
    	} 
    }
    if (!ajax && typeof XMLHttpRequest!='undefined') { 
    	ajax = new XMLHttpRequest();
    } 

    return ajax;
}

function getScript(serverPage, func) {
    var ajax = GetO();
	//增加随机数,使每次请求都返回最新页面
	var str = ""; 
	if(serverPage.indexOf('?')<0){
	    str="?now="+ new Date().getTime();
	}else{
	    str="&now="+ new Date().getTime(); 
	}
	ajax.open("GET", serverPage+str, true);

	ajax.onreadystatechange = function() { 
	    if (ajax.readyState == 4 && ajax.status == 200) {
	        eval(ajax.responseText);
	
	  	    if(func){
	  	      try{
	  	         func = func.split(";");
		  	      for (i = 0; i < func.length; i=i+1) {
		  	        eval(func[i]);
		  	      }
	  	      }catch(e){
	  	      
	  	      }
	  	    }
		} 
	}
	ajax.send(null); 
}
function getMyHTML(serverPage, objID, func) {
    var ajax = GetO();
    var obj = document.getElementById(objID);
    obj.style.display = "";
	//增加随机数,使每次请求都返回最新页面
	var str = ""; 
	if(serverPage.indexOf('?')<0){
	    str="?now="+ new Date().getTime();
	}else{
	    str="&now="+ new Date().getTime();
	}
	ajax.open("GET", serverPage + str, true);
	ajax.onreadystatechange = function() { 
	    if (ajax.readyState == 4 && ajax.status == 200) {
	        setInnerHTML(obj, ajax.responseText); 
	  	    if(func){
	  	      try{
	  	         func = func.split(";");
		  	      for (i = 0; i < func.length; i=i+1) {
		  	        eval(func[i]);
		  	      }
	  	      }catch(e){
	  	      
	  	      }
	  	    }
		} 
	}
	ajax.send(null);
}
function hide(id) {
    document.getElementById(id).style.display = "none";
}
function getMyHTML2(serverPage, objID, func) {
    var e = arguments[0] || window.event;
  //var sObj = e.srcElement || e.target; // src 就是事件的触发源
    var ajax = GetO();
    var obj = document.getElementById(objID);
    var sObj=document.all?window.event.srcElement:arguments[0].target;
    var posY = event.clientY;
    if(obj.innerHTML.length<3)
    {  
	    //增加随机数,使每次请求都返回最新页面
	  
	    var str = ""; 
	    if(serverPage.indexOf('?')<0){
	        str="?now="+ new Date().getTime();
	    }else{
	        str="&now="+ new Date().getTime(); 
	    }
    	
	    ajax.open("GET", serverPage+str, true);

	    ajax.onreadystatechange = function() {
	        if (ajax.readyState == 4 && ajax.status == 200) {
	            var robj = eval(ajax.responseText);

	            setInnerHTML(obj, init_vs(robj));
	            obj.style.backgroundColor = "#FFF";
	            obj.style.position = "absolute";
	            obj.style.border = "solid 1px #999";
	            obj.style.zIndex = 99;
	            obj.parentNode.style.zIndex = 99;
	            var pos = getElementPos(sObj);
                pos.x = (document.body.clientWidth - 510)/2;
	            obj.style.left = (pos.x) + "px";
	            obj.style.top = (pos.y+30) + "px";
	            if (func) {
	                try {
	                    func = func.split(";");
	                    for (i = 0; i < func.length; i = i + 1) {
	                        eval(func[i]);
	                    }
	                } catch (e) {

	                }
	            }
	        }
	    }
	    ajax.send(null); 
	}
	else if (obj.style.display = "none") {	 
	    obj.style.display="";
    	var pos=getElementPos(sObj);
        pos.x = (document.body.clientWidth - 510)/2;
        obj.style.left = (pos.x) + "px";
        obj.style.top = (pos.y+30) + "px";
    }

}
function getMyHTML2_Lq(serverPage, objID,func) {
    var e = arguments[0] || window.event;
    var ajax = GetO();
    var obj = document.getElementById(objID);
    var sObj=document.all?window.event.srcElement:arguments[0].target;
 
    if(obj.innerHTML.length<3)
    {  
	    //增加随机数,使每次请求都返回最新页面
	     if(serverPage.indexOf('?')<0){
	        serverPage+="?now="+ new Date().getTime();
	    }else{
	        serverPage+="&now="+ new Date().getTime(); 
	    }
	    ajax.open("GET", serverPage, true);
	    ajax.onreadystatechange = function() {    
	        if (ajax.readyState == 4 && ajax.status == 200) {
	            obj.innerHTML=ajax.responseText;
                 obj.style.backgroundColor = "#FFF";
	            obj.style.position = "absolute";
	            obj.style.border = "solid 1px #999";
	            obj.style.zIndex = 99;
	            obj.parentNode.style.zIndex = 99;
	            var pos = getElementPos(sObj);
                pos.x = (document.body.clientWidth - 510)/2;
	            obj.style.left = (pos.x) + "px";
	            obj.style.top = (pos.y+30) + "px";
		    } 
	    }
	    ajax.send(null); 
	}
	else if (obj.style.display = "none") {	 
	    obj.style.display="";
    	var pos=getElementPos(sObj);
        pos.x = (document.body.clientWidth - 510)/2;
        obj.style.left = (pos.x) + "px";
        obj.style.top = (pos.y+30) + "px";
    }
}

function getMyHTML3(serverPage, objID,func) {
    var ajax = GetO();
    var obj = document.getElementById(objID);
    if(obj.innerHTML=="")
    {
	    //增加随机数,使每次请求都返回最新页面
	    var str = ""; 
	    if(serverPage.indexOf('?')<0){
	        str="?now="+ new Date().getTime();
	    }else{
	        str="&now="+ new Date().getTime(); 
	    }
    	
	    ajax.open("GET", serverPage+str, true);
	    
	    ajax.onreadystatechange = function() { 
	        if (ajax.readyState == 4 && ajax.status == 200) {
	  	        setInnerHTML(obj,ajax.responseText);

	  	        if(func){
	  	          try{
	  	             func = func.split(";");
		  	          for (i = 0; i < func.length; i=i+1) {
		  	            eval(func[i]);
		  	          }
	  	          }catch(e){
    	  	      
	  	          }
	  	        }
		    } 
	    }
	    ajax.send(null); 
	}
	else
	    obj.style.display="";
}
function getHTMLContent(serverPage, objID,func) {
    var ajax = GetO();
    var obj = document.getElementsByName(objID)[0];
	   
	//增加随机数,使每次请求都返回最新页面
	var str = ""; 
	if(serverPage.indexOf('?')<0){
	    str="?now="+ new Date().getTime();
	}else{
	    str="&now="+ new Date().getTime(); 
	}
	
	ajax.open("GET", serverPage+str, true);

	ajax.onreadystatechange = function() { 
	    if (ajax.readyState == 4 && ajax.status == 200) {
	  	    obj.value=ajax.responseText;

	  	    if(func){
	  	      try{
	  	         func = func.split(";");
		  	      for (i = 0; i < func.length; i=i+1) {
		  	        eval(func[i]);
		  	      }
	  	      }catch(e){
	  	      
	  	      }
	  	    }
		} 
	}
	ajax.send(null); 
}

function getHTMLTest(serverPage) {
    var ajax = GetO();
	   
	//增加随机数,使每次请求都返回最新页面
	var str = ""; 
	if(serverPage.indexOf('?')<0){
	    str="?now="+ new Date().getTime();
	}else{
	    str="&now="+ new Date().getTime(); 
	}
	
	ajax.open("GET", serverPage+str, true);

	ajax.onreadystatechange = function() { 
	 	//alert(ajax.status);
	    if (ajax.readyState == 4 && ajax.status == 200) {
	  	    alert(ajax.responseText);
		} 
	}
	ajax.send(null); 
}

/*
 * 描述：跨浏览器的设置 innerHTML 方法
 *       允许插入的 HTML 代码中包含 script 和 style
 * 参数：
 *    el: 合法的 DOM 树中的节点
 *    htmlCode: 合法的 HTML 代码
 */
var setInnerHTML = function (el, htmlCode) {
    var ua = navigator.userAgent.toLowerCase();
    if (ua.indexOf('msie') >= 0 && ua.indexOf('opera') < 0) {
        htmlCode = htmlCode.replace(/<script([^>]*)>/gi,'<script$1 defer>');
        el.innerHTML = htmlCode;
    } else {
        var el_next = el.nextSibling;
        var el_parent = el.parentNode;
        el_parent.removeChild(el);
        el.innerHTML = htmlCode;
        if (el_next) {
            el_parent.insertBefore(el, el_next)
        } else {
            el_parent.appendChild(el);
        }
    } 
}

