﻿function CallBackObject()
{
  this.XmlHttp = this.GetHttpObject();
  this.table = document.createElement("table");
  this.table.setAttribute("align", "center");
  this.table.style.margin = "10px 0px;";
  tr = document.createElement("tr");
  td = document.createElement("td");
  this.table.appendChild(tr);
  tr.appendChild(td);
  //loading图片的位置
  this.img = "../images/system/loading.gif";
  td.innerHTML = "<img src=\""+this.img+"\" alt=\"\" />";
  //放置LOADING图片的容器
  this.contain = null;
}
 
CallBackObject.prototype.GetHttpObject = function()
{ 
  var xmlhttp;
  /*@cc_on
  @if (@_jscript_version >= 5)
    try {
      xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (E) {
        xmlhttp = false;
      }
    }
  @else
  xmlhttp = false;
  @end @*/
  if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
    try {
      xmlhttp = new XMLHttpRequest();
    } catch (e) {
      xmlhttp = false;
    }
  }
  return xmlhttp;
}
//get方法
CallBackObject.prototype.DoCallBackGet = function(URL)
{ 
  if( this.XmlHttp )
  {
    if( this.XmlHttp.readyState == 4 || this.XmlHttp.readyState == 0 )
    {
      var oThis = this;
      this.XmlHttp.open('GET', URL);
      this.XmlHttp.onreadystatechange = function(){ oThis.ReadyStateChange(); };
      this.XmlHttp.send(null);
    }
  }
}
//post方法
CallBackObject.prototype.DoCallBackPost = function(URL,Form)
{ 
  if( this.XmlHttp )
  {
    if( this.XmlHttp.readyState == 4 || this.XmlHttp.readyState == 0 )
    {
       var oThis = this;
      this.XmlHttp.open('POST', URL,true);
      this.XmlHttp.onreadystatechange = function(){ oThis.ReadyStateChange(); };
      this.XmlHttp.setRequestHeader("Content-type","application/x-www-form-urlencoded;charset=UTF-8");
      this.XmlHttp.send(Form);
    }
  }
}
//post webservice
CallBackObject.prototype.LoadWsdl = function (URL,Form){
  if( this.XmlHttp )
  {
    if( this.XmlHttp.readyState == 4 || this.XmlHttp.readyState == 0 )
    {
      var oThis = this;
      try{
		  this.XmlHttp.open("post", URL, true);
	  }catch(ex){
		  alert(ex);
	  }
      this.XmlHttp.onreadystatechange = function(){ oThis.ReadyStateChange(); };
	  this.XmlHttp.setRequestHeader("Content-type","application/x-www-form-urlencoded;charset=UTF-8");
      this.XmlHttp.send(Form);
    }
  }
}

CallBackObject.prototype.AbortCallBack = function()
{
  if( this.XmlHttp )
    this.XmlHttp.abort();
}
 
CallBackObject.prototype.OnLoading = function()
{
      
}
 
CallBackObject.prototype.OnLoaded = function()
{
    this.table.style.display = "";
	if (this.contain){
		this.contain.appendChild(this.table);
	}
    //document.getElementById("CallBackObject").appendChild(this.div);
    this.OnLoading();
}
 
CallBackObject.prototype.OnInteractive = function()
{
  // Interactive
}
CallBackObject.prototype.OnComplete = function(responseText, responseXml)
{
  // Complete
}
 
CallBackObject.prototype.OnAbort = function()
{
  // Abort
}
 
CallBackObject.prototype.OnError = function(status, statusText)
{
  // Error  
}
 
CallBackObject.prototype.ReadyStateChange = function()
{
  if( this.XmlHttp.readyState == 1 )
  {
    
  }
  else if( this.XmlHttp.readyState == 2 )
  {
   this.OnLoaded();
  }
  else if( this.XmlHttp.readyState == 3 )
  {
   this.OnInteractive();
  }
  else if( this.XmlHttp.readyState == 4 )
  {
    if( this.XmlHttp.status == 0 ){
      this.OnAbort();
    }
    else if( this.XmlHttp.status == 200 && this.XmlHttp.statusText == "OK" ){
      this.table.style.display = "none";
      this.OnComplete(this.XmlHttp.responseText, this.XmlHttp.responseXML);
    }
    else{
      this.OnError(this.XmlHttp.status, this.XmlHttp.statusText, this.XmlHttp.responseText);
    }
  }
}

function ObjectAjax(mode, url, bool){
    if (!ie){
        xmlhttp = new XMLHttpRequest();
    }else{
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.open(mode, url, bool);
    xmlhttp.send(null);
    return xmlhttp.responseText;
}
function ObjectAjaxLoadWsdl(){
	this.xmlhttp = "";
	this.content = "";
	if (!ie){
        this.xmlhttp = new XMLHttpRequest();
    }else{
        this.xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
	try{
		this.xmlhttp.open("post","ajax_testUsername.aspx?username=admin",true);
	}catch(ex){
		alert(ex);
	}
	//this.xmlhttp.setRequestHeader('Content-Type','text/xml');
	//this.xmlhttp.setRequestHeader('charset','utf-8');

	//this.content = '<?xml version="1.0" encoding="utf-8"?>';
//	this.content += '<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">';
//		this.content += '<soap:Body>';
//			this.content += '<QueryBlance xmlns="http://tempuri.org/">';
//				this.content += '<CpuCardID>0330002240861608</CpuCardID>';
//			this.content += '</QueryBlance>';
//		this.content += '</soap:Body>';
//	this.content += '</soap:Envelope>';
	
	//this.xmlhttp.setRequestHeader('Content-Length:', this.content.length);
	//this.xmlhttp.setRequestHeader('SOAPAction','http://tempuri.org/QueryBlance');
	
	//this.xmlhttp.send(this.content);
	//this.returnText = this.xmlhttp.responseText;
}
ObjectAjaxLoadWsdl.prototype.AddContent = function(){
		
}

//var cbo = new CallBackObject();
//cbo.OnComplete = function(responseText, responseXml){
//    alert(responseText);
//}
//cbo.DoCallBackPost("地址",null);