
//
// Ajax handlers
//

function httpRequest(type,url,asynch,respHandle) {

  var request;

  // moz
  if (window.XMLHttpRequest) {
    request = new XMLHttpRequest();
  }

  // ie
  else if (window.ActiveXObject) {
    request = new ActiveXObject("Msxml2.XMLHTTP");
    if (!request) request = new ActiveXObject("Microsoft.XMLHTTP");
  }

  // send request | error
  if (request) {
    if (type.toLowerCase() != "post") {
      initRequest(request,type,url,asynch,respHandle);
    }
    else {
      var args = arguments[4];
      if (args != null && args.length > 0) initRequest(request,type,url,asynch,respHandle,args);
    }
  }
  else {
    alert("You appear to be using a browser that does not support AJAX.  Please update your browser.");
  }

}

function initRequest(request,type,url,asynch,respHandle) {

  try {
	 respHandle.reqObj = request;
    request.onreadystatechange = respHandle;
    request.open(type,url,asynch);
    if (type.toLowerCase() == "post") {
      request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
      request.send(arguments[5]);
    }
    else {
      request.send(null);
    }
  } catch (errv) {
    alert("AJAX can not contact the server at this moment.  Please try again.  (Error: "+errv.message+")");
  }

}