itemer = "";
var debugWin = null;
var _debug = null;
var ajaxTimeout = null;
var httpCount = -1;

////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// Debugging utility
//
////////////////////////////////////////////////////////////////////////////////////////////////////////////
function start_debug() {
  if(!debugWin) {
    debugWin = window.open("/ssl_proto/debug.html", "xxxxxx", "width=400px, height=400px, left=0px, top=0px, location=no, toolbar=no, status=no, menubar=no, scrollbars=yes");
    if(debugWin.document.getElementById("debugarea")) {
      _debug = debugWin.document.getElementById("debugarea");
    } else
    if(debugWin.getElementById("debugarea")) {
      _debug = debugWin.getElementById("debugarea");
    }
    //if(window.xxxxxx.document.getElementById("debugarea")) {
    //  _debug = window.xxxxxx.document.getElementById("debugarea");
    //}
    _debug.innerHTML = "We have sucessfully set the debug window.<BR>";
  }   
}

////////////////////////////////////////////////////////////////////////////////////////////////////////////
//
// 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 = 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) {
      obj.innerHTML = "<font class=\"links\"><font class=\"text\">Your browser does not support AJAX.  <a href=\"/ssl_proto/maint/help.php?loc=view&id=13\">Click Here</a> to read about why.";
  }
  if(request) {
    if(itemobj != null) {
      if(obj) {
        obj.innerHTML = "<img src=\"./images/loading.gif\">";
      }
    }
    request.onreadystatechange = function() {
      if(request.readyState == 4) {
        if(obj) {
          obj.innerHTML = request.responseText;
        }
      }
    }
    request.open('GET', urlitem, true);
    request.send(null);
  }
}

function PostItem( _url, itemobj, _post, _resize) {
  httpCount++;
  
  var _myRequest = new build_http_request();
  var obj = null;
  
  if(document.getElementById(itemobj)) {
    obj = document.getElementById(itemobj);
  } else
  if(window.parent.document.getElementById(itemobj)) {
    obj = window.parent.document.getElementById(itemobj);
  }
  if(!_myRequest.http) {
      //obj.innerHTML = "<font class=\"links\"><font class=\"text\">Your browser does not support AJAX.  <a href=\"/ssl_proto/maint/help.php?loc=view&id=13\">Click Here</a> to read about why.";
  }
  if(_myRequest.http) {
    if(itemobj != null) {
      if(obj) {
        //obj.innerHTML = "<div align=\"center\"><img src=\"./images/loading.gif\" height=20></div>";
      }
    }
    _myRequest.http.onreadystatechange = function() {
      if(_myRequest.http.readyState == 4) {
        if(obj) {
          var _postOutput = _myRequest.http.responseText;
          this._evalJS = "";
          if(_postOutput.lastIndexOf("<JS:eval>") != -1) {
          
            var _tmpidx = _postOutput.lastIndexOf("<JS:eval>");
            this._evalJS = _postOutput.substr(_tmpidx + 9);
            
            _postOutput = _postOutput.substr(0,_tmpidx);
          }
          
          if(_postOutput != "")
            obj.innerHTML = _postOutput;
            
          if(this._evalJS != "")
            eval(this._evalJS);
          //obj.innerHTML = request.responseText;
          _myRequest.http = null;
          if(_resize != null)
            recalcRefine(_resize);
          return true;
        }
      }
    }
    _myRequest.http.open('POST', _url, true);
    _myRequest.http.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
    _myRequest.http.setRequestHeader("Content-length",_post.length);
    _myRequest.http.setRequestHeader("Connection","close");
    _myRequest.http.send(_post);
    return true;
  }
}

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++) {
    if(_form.elements[i].type != "checkbox" || (_form.elements[i].type == "checkbox" && _form.elements[i].checked == true))
      _qry[i] = _form.elements[i].name + "=" + encodeURIComponent(_form.elements[i].value);
  }
  _qry[i++] = "ajax=Y";
  var _query = _qry.join("&");
  var _holder = new PostItem(_action,_ajaxObj,_query);
  /**
   * We don't want the actual form to submit.
   */
  return false;
}

