var filesadded = ""

function $(o){return document.getElementById(o);} 

function XHConn() 
{ 
 var http = window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();
 
 this.connect = function(element,sURL,sMethod,sVars){
  if(!http){$(element).innerHTML="<img src=images/loading.gif />初始化失败......";return false;} 
  sMethod = sMethod.toUpperCase(); 
  try {
	  $(element).innerHTML="<img src=http://www.kq36.com/images/loading.gif />";
   if (sMethod == "GET") {
    http.open(sMethod, sURL+"?"+sVars, true);
    http.setRequestHeader("Content-Type","text/html;encoding=GB2312"); 
    sVars = ""; 
    }else{ 
    http.open(sMethod, sURL, true); 
    http.setRequestHeader("Method", "POST "+sURL+" HTTP/1.1"); 
    http.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); 
        }
   http.onreadystatechange = function(){
   if (http.readyState == 4){
    if(http.status == 200){
    if(http.responseText!=""){
    var htmlText=http.responseText;
    var DomJs=htmlText.match(/<load-js>[\s\S]+?<\/load-js>/g);//获取载入JS文件
    var DomCss=htmlText.match(/<load-css>[\s\S]+?<\/load-css>/g);//获取载入CSS文件
    var DomScript=htmlText.match(/<load-script>[\s\S]+?<\/load-script>/g);//获取载入函数
    var MyScript=htmlText.match(/<run-script>[\s\S]+?<\/run-script>/g);//获取执行语句
    htmlText=htmlText.replace(/<load-js>[\s\S]+?<\/load-js>/g,"")//删除载入JS文件文本
    htmlText=htmlText.replace(/<load-css>[\s\S]+?<\/load-css>/g,"")//删除载入CSS文件文本
    htmlText=htmlText.replace(/<load-script>[\s\S]+?<\/load-script>/g,"")//删除载入函数文本
    htmlText=htmlText.replace(/<run-script>[\s\S]+?<\/run-script>/g,"")//删除执行语句文本
    htmlText=htmlText.replace(/\%20/g,"&nbsp;")//删除执行语句文本
    $(element).innerHTML=htmlText;//输出文本
     
    //载入JS文件,以<load-js>开头</load-js>结束
    if(DomJs!=null){
     for(i=0;i<DomJs.length;i++){
      DomJs[i]=DomJs[i].replace(/<load-js>/g,"");
      DomJs[i]=DomJs[i].replace(/<\/load-js>/g,"");
       
      if (filesadded.indexOf("["+DomJs[i]+"]")==-1){
       var headerDom=document.getElementsByTagName('head')[0];
       var jsDom=document.createElement('script');
       jsDom.setAttribute("type","text/javascript");
       jsDom.setAttribute("src",DomJs[i]);
       headerDom.appendChild(jsDom);
       filesadded += "["+DomJs[i]+"]";
      }
     }
    }
    //载入CSS文件,以<load-css>开头</load-css>结束
    if(DomCss!=null){
     for(i=0;i<DomCss.length;i++){
      DomCss[i]=DomCss[i].replace(/<load-css>/g,"");
      DomCss[i]=DomCss[i].replace(/<\/load-css>/g,"");
       
      if (filesadded.indexOf("["+DomCss[i]+"]")==-1){
       var headerDom=document.getElementsByTagName('head')[0];
       var jsDom=document.createElement('link');
       jsDom.setAttribute("rel", "stylesheet");
       jsDom.setAttribute("type","text/javascript");
       jsDom.setAttribute("href",DomCss[i]);
       headerDom.appendChild(jsDom);
       filesadded += "["+DomCss[i]+"]";
      }
     }
    }
    //载入JS函数,以<load-script>开头</load-script>结束
    if(DomScript!=null){
     for(i=0;i<DomScript.length;i++){
      DomScript[i]=DomScript[i].replace(/<load-script>/g,"");
      DomScript[i]=DomScript[i].replace(/<\/load-script>/g,"");
       
      var headerDom=document.getElementsByTagName('head').item[0];
      var jsDom=document.createElement('script');
      jsDom.type='text/javascript';
      jsDom.language='javascript';
      jsDom.defer=true;
      jsDom.text=DomScript[i];
      headerDom.appendChild(jsDom);
     }
    }
    //执行JS,以<run-script>开头</run-script>结束
    if(MyScript!=null){
     for(i=0;i<MyScript.length;i++){
      MyScript[i]=MyScript[i].replace(/<run-script>/g,"");
      MyScript[i]=MyScript[i].replace(/<\/run-script>/g,"");
      eval(MyScript[i]);
     }
    }
    }else{$(element).innerHTML="暂无数据......";}
    }else{$(element).innerHTML="你所请求的页面发生异常！返回："+http.status;}
   }//else{$(element).innerHTML="<img src=images/loading.gif />载入数据中......";}
   }; 
   http.send(sVars); 
     } 
     catch(z) { return false; } 
     return true; 
 }; 
return this; 
} 

function getFormData(formname) {
    var dataString = "";

    function addParam(name, value) {
        dataString += (dataString.length > 0 ? "&" : "")
   + escape(name).replace(/\+/g, "%2B") + "="
            + encodeURIComponent(escape(value ? value : ""));
    }
    var elemArray = $(formname).elements;
    for (var i = 0; i < elemArray.length; i++) {
        var element = elemArray[i];
        var elemType = element.type.toUpperCase();
        var elemName = element.name;
  var elemId = element.id;
        if (elemName) {
            if (elemType == "TEXT"
                    || elemType == "TEXTAREA"
                    || elemType == "PASSWORD"
                    || elemType == "HIDDEN")
                addParam(elemName, element.value);
            else if (elemType == "CHECKBOX" && element.checked)
                addParam(elemName, element.value ? element.value : "On");
            else if (elemType == "RADIO" && element.checked)
                addParam(elemName, element.value);
            else if (elemType.indexOf("SELECT") != -1)
                for (var j = 0; j < element.options.length; j++) {
                    var option = element.options[j];
                    if (option.selected)
                        addParam(elemName,
                            option.value ? option.value : option.text);
                }
        }else if(elemId){
            if (elemType == "TEXT"
                    || elemType == "TEXTAREA"
                    || elemType == "PASSWORD"
                    || elemType == "HIDDEN")
                addParam(elemId, element.value);
            else if (elemType == "CHECKBOX" && element.checked)
                addParam(elemId, element.value ? element.value : "On");
            else if (elemType == "RADIO" && element.checked)
                addParam(elemId, element.value);
            else if (elemType.indexOf("SELECT") != -1)
                for (var j = 0; j < element.options.length; j++) {
                    var option = element.options[j];
                    if (option.selected)
                        addParam(elemId,
                            option.value ? option.value : option.text);
                }
  }
    }
 return dataString;
}

//DIV名，交互页面，GET or POST，参数，表单名

function htmlupdate(element,url,method,data,formname){
 var xh = new XHConn(); 
 if($(formname)){data+="&"+getFormData(formname);} 
 xh.connect(element,url,method,data);
} 

function hideAll(TagName){ 
	var selects=document.getElementsByTagName(TagName); 
	for(var i=0;i<selects.length;i++){ 
		selects[i].style.display="none"; 
	} 
} 

function showAll(TagName){ 
	var selects=document.getElementsByTagName(TagName); 
	for(var i=0;i<selects.length;i++){ 
		selects[i].style.display=""; 
	} 
} 
