var xmlhttp;
function postXmlHttpRequestWithForm(form, doProcessRequest) {
    var postContent = getPostContent(form);
    //document.write(postContent);
    if (window.ActiveXObject) {
        // Microsoft Way
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    } else if (window.XMLHttpRequest) {
        // Others
        xmlhttp = new XMLHttpRequest();
    }
	if(xmlhttp) {
		xmlhttp.onreadystatechange = function() {
			if (xmlhttp.readyState==4){
				if(xmlhttp.status==200){
					try{
                        doProcessRequest();
	            	}catch(err){
	            		alert(err.number+","+err.message+",");
	            	}
				}else{
						alert("A Exception Occured between xmlhttpRequest with server."+xmlhttp.status);
						alert(xmlhttp.responseText); 
				}
			}
    	};
    	var url = form.action; 
    	var method = form.method;
		if(method.toLowerCase() == "get") {
			xmlhttp.open("GET", url + "?" + postContent, true);
			xmlhttp.send(null);
		}else if(method.toLowerCase() == "post") {
			xmlhttp.open("POST", url, true);
			xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
			xmlhttp.send(postContent);
		}
	}else{
		loadingDiv.innerHTML = "Can't create XMLHttpRequest object, please check your web browser.";
	}    	
}

function getPostContent(form){
	var elements = form.elements;// Enumeration the form elements
	var element;
	var i;

	var postContent = "";// Form contents need to submit

	for(i=0;i<elements.length;++i) {
	  	var element=elements[i];

	    if(element.type=="text" || element.type=="textarea" || element.type=="hidden") {
	      postContent += encodeURIComponent(element.name) + "=" + encodeURIComponent(element.value) + "&";
	    }
	    else if(element.type=="select-one"||element.type=="select-multiple") {
	      var options=element.options,j,item;
	      for(j=0;j<options.length;++j){
	        item=options[j];
	        if(item.selected) {
	        	postContent += encodeURIComponent(element.name) + "=" + encodeURIComponent(item.value) + "&";
			}
	      }
	    } else if(element.type=="checkbox"||element.type=="radio") {
	      if(element.checked) {
	        	postContent += encodeURIComponent(element.name) + "=" + encodeURIComponent(element.value) + "&";
			}
		} else if(element.type=="file") {
			if(element.value != "") {
				postContent += encodeURIComponent(element.name) + "=" + encodeURIComponent(element.value) + "&";
			}
		} else {
				postContent += encodeURIComponent(element.name) + "=" + encodeURIComponent(element.value) + "&";
		}
	}
	return postContent;}
  
  function getXmlhttp(){
    if (window.ActiveXObject) {
        // Microsoft Way
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    } else if (window.XMLHttpRequest) {
        // Others
        xmlhttp = new XMLHttpRequest();
    }
    return xmlhttp;
  }      
 
 /**
 *@url 发送的url
 *@callfunction 回调函数
 */
 function postXmlHttpRequestByPost(url,callfunction)
 {
   if (window.ActiveXObject) {
   		// Microsoft Way
   		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
	} else if (window.XMLHttpRequest) {
   		// Others
   		xmlhttp = new XMLHttpRequest();
	}
	xmlhttp.open("GET",url,true);
	xmlhttp.onreadystatechange=callfunction;
    xmlhttp.setRequestHeader("Content-Type", "text/html");
  	xmlhttp.send("");
 }
