function makeRequest( url, searchObject, objectToUpdate ) {
  var httpRequest = null;
  if( window.XMLHttpRequest ) { /* Mozilla, Safari, ... */
    httpRequest = new XMLHttpRequest();
    if (httpRequest.overrideMimeType) {
      httpRequest.overrideMimeType('text/xml');
    }
  }
  else if( window.ActiveXObject ) { /* IE */
    try { httpRequest = new ActiveXObject('Msxml2.XMLHTTP'); }
    catch( e ) {
      try { httpRequest = new ActiveXObject('Microsoft.XMLHTTP'); }
      catch( e ) {}
    }
  }
  if( ! httpRequest ) {
    alert( 'Giving up :( Cannot create an XMLHTTP instance' );
    return false;
  }
  httpRequest.onreadystatechange = function() { checkRequest( httpRequest, searchObject, objectToUpdate ); };
  httpRequest.open( 'GET', url, true );
  httpRequest.send( '' );
}

function checkRequest( httpRequest, xmlFieldMatch, objectToUpdate ) {
  if( httpRequest.readyState == 4 ) {
    if( httpRequest.status == 200 ) {
      if( httpRequest.responseXML.getElementsByTagName( xmlFieldMatch )[0] != null ) {
        var requestedHTMLData = httpRequest.responseXML.getElementsByTagName( xmlFieldMatch )[0];
      }
      if( requestedHTMLData != null ) {
        updateObject( objectToUpdate, requestedHTMLData.firstChild.data );
      }
    } else {
      //alert('Network error; you may need to reload.');
    }
  }
}

function updateObject( objectToUpdate, html ) {
  document.getElementById( objectToUpdate ).innerHTML = html;
}

// - - -

function updateNews() {
  var url = 'latest_news.php';
  //alert( 'url: ' + url );
  makeRequest( url, 'latest_news_items', 'latest_news_inner' );
}

function updateArticles() {
  var url = 'latest_articles.php';
  makeRequest( url, 'latest_articles_items', 'latest_articles_inner' );
}

window.onload = function() {
  updateNews();
  updateArticles();
}

