/////
///// '_ajx.js' library, first created by Jiongtao Huang on Aug 2008.
/////  Last modified by Jiongtao Huang on Aug 2008.
///// (c) Jiongtao Huang 2008
/////

function __getHttpObj() {
  if ( window.ActiveXObject ){
    try {
      return new ActiveXObject( "Msxml2.XMLHTTP" ) ;
    } catch( e1 ) {
      try {
        return new ActiveXObject( "Microsoft.XMLHTTP" ) ;
      } catch ( e2 ) {
        return null ;
      }
    }
  } else if ( window.XMLHttpRequest ) {
    return new XMLHttpRequest() ;
  } else {
    return null ;
  }
}

function sendAjaxReq( uri, method, data, async, callback, sload ) {
  var reqobj = __getHttpObj() ;
  if ( reqobj == null ) { return false ; }
  var sload = ( !! sendAjaxReq.arguments[5] ) ? sload : false ;
  if ( sload ) { uri += "?t=" + getID() ; }
  if ( _op || _sf || _mz ) {
    reqobj.onload = function() { callback( reqobj ) ; }
  } else {
    reqobj.onreadystatechange = function() {
      if ( reqobj.readyState == 4 ) { callback( reqobj ) ; }
    }
  }
  if ( method.toLowerCase() == 'get' ) {
    uri += window.encodeURI( data ) ;
  }
  reqobj.open( method.toUpperCase(), uri, async ) ;
  if ( method.toLowerCase() == 'post' ) {
    reqobj.setRequestHeader( 'Content-Type', 'application/x-www-form-urlencoded' ) ;
  }
  reqobj.send( data ) ;
}

