http_request = false;

////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// Ajax Modules
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////

function build_http_request() {
  //determine which plug in to use.
  this.http = null;
  if(window.XMLHttpRequest) { //Mozilla & Safari
    this.http = new XMLHttpRequest();
  } else if (window.ActiveXObject) { //Inertnet Explorder, Netscape?
    this.http = new ActiveXObject("Microsoft.XMLHTTP");
    if(!http) {
      this.http = new ActiveXObject("Msxml2.XMLHTTP");
    }
  }
}

function GetItem( urlitem, itemobj ) {
  request = null;
  request = new build_http_request();
  if(document.getElementById(itemobj)) {
    obj = document.getElementById(itemobj);
  } else
  if(window.parent.document.getElementById(itemobj)) {
    obj = window.parent.document.getElementById(itemobj);
  } else {
    obj = null;
  }
  if(!request.http) {
      obj.innerHTML = "<p>Your browser does not support AJAX.</p>";
  }
  if(request.http) {
    if(itemobj != null) {
      if(obj) {
        obj.innerHTML += "<table align=\"center\"><TR valign=\"middle\"><td align=\"center\">Retrieving data...</td></tr></table>";
      }
    }
    request.http.onreadystatechange = function() {
      if(request.http.readyState == 4) {
        if(obj) {
          obj.innerHTML = request.http.responseText;
          if(_recalcObjName != "") { recalcRefine(_recalcObjName); }
          request = null;
          return true;
        }
      }
    }
    request.http.open('GET', urlitem, true);
    request.http.send(null);
  }
}

function PostItem( _url, itemobj, _post , _loadingStr, _loadingContent) {
  request = null;
  request = new build_http_request();
  if(document.getElementById(itemobj)) {
    obj = document.getElementById(itemobj);
  } else
  if(window.parent.document.getElementById(itemobj)) {
    obj = window.parent.document.getElementById(itemobj);
  } else {
    obj = null;
  }
  if(!request.http) {
      obj.innerHTML = "<p>Your browser does not support AJAX.</p>";
  }
  if(request.http) {
    if(itemobj != null) {
      if(obj) {
        obj.innerHTML = "<div align=\"center\"><img src=\"/site/images/loading.gif\"></div>";
      }
    }
    request.http.onreadystatechange = function() {
      if(request.http.readyState == 4) {
        if(obj) {
          //alert(request.responseText);
          obj.innerHTML = request.http.responseText;
          if(_recalcObjName != "") { recalcRefine(_recalcObjName); }
          request = null;
          return true;
        }
      }
    }
    request.http.open('POST', _url, true);
    request.http.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    request.http.setRequestHeader("Content-length",_post.length);
    request.http.setRequestHeader("Connection","close");
    request.http.send(_post);
  }
}

//When you need to submit a form via AJAX
function submitForm(_frm,_ajaxObj) {
  var _form = document.forms[_frm];
  var _action = _form.action;
  var _qry = new Array();
  for(i = 0; i < _form.elements.length; i++) {
    _qry[i] = _form.elements[i].name + "=" + encodeURIComponent(_form.elements[i].value);
  }
  var _query = _qry.join("&");
  PostItem(_action,_ajaxObj,_query);
}

