function executeXhrTeachings(url,menuId) {
  // Set classnames
//  document.getElementById("currentMenu").className='treeview';
//  document.getElementById("archiveMenu").className='treeview';
//  document.getElementById("specialMenu").className='treeview';
//  document.getElementById(menuId).className='treeviewSelected';
  // branch for native XMLHttpRequest object
  if (window.XMLHttpRequest) {
    req = new XMLHttpRequest();
    req.onreadystatechange = processAjaxResponseTeachings;
    req.open("GET", url, true);
    req.send(null);
  } // branch for IE/Windows ActiveX version
  else if (window.ActiveXObject) {
    req = new ActiveXObject("Microsoft.XMLHTTP");
    if (req) {
      req.onreadystatechange = processAjaxResponseTeachings;
      req.open("GET", url, true);
      req.send();
    }
  }
}

function processAjaxResponseTeachings() {
  // only if req shows "loaded"
  if (req.readyState == 4)
  {
    // only if "OK"
    if (req.status == 200) {
      var teachingsDiv = document.getElementById('teachingDetails');
      teachingsDiv.innerHTML = req.responseText;
    } else {
//      alert("There was a problem retrieving the XML data:\n" + req.statusText);
    }
  }
}

function executeXhrTeachingsArchive(url) {
  var filterButton = document.getElementById('filterButton');
  filterButton.style.cursor='wait';
  // branch for native XMLHttpRequest object
  if (window.XMLHttpRequest) {
    req = new XMLHttpRequest();
    req.onreadystatechange = processAjaxResponseTeachingsArchive;
    url = url +
      "&otBookSelect="+document.forms['filterForm'].otBookSelect.value +
      "&ntBookSelect="+document.forms['filterForm'].ntBookSelect.value +
      "&speakerId="+document.forms['filterForm'].speakerId.value +
      "&dayId="+document.forms['filterForm'].dayId.value +
      "&timeId="+document.forms['filterForm'].timeId.value +
      "&startDate="+document.forms['filterForm'].startDate.value +
      "&endDate="+document.forms['filterForm'].endDate.value;
    req.open("POST", url, true);
    req.send(null);
  } // branch for IE/Windows ActiveX version
  else if (window.ActiveXObject) {
    req = new ActiveXObject("Microsoft.XMLHTTP");
    if (req) {
      req.onreadystatechange = processAjaxResponseTeachingsArchive;
      req.open("GET", url, true);
      req.send();
    }
  }
}

function processAjaxResponseTeachingsArchive() {
  // only if req shows "loaded"
  if (req.readyState == 4)
  {
    // only if "OK"
    if (req.status == 200) {
      var teachingsDiv = document.getElementById('teachingArchiveDetails');
      teachingsDiv.innerHTML = req.responseText;
    } else {
//      alert("There was a problem retrieving the XML data:\n" + req.statusText);
    }
  }
  var filterButton = document.getElementById('filterButton');
  filterButton.style.cursor='pointer';
}
