// from http://www.boutell.com/newfaq/creating/include.html
// Includes inline content in a given span element
function clientSideIncludeWithArgs(id, urlPrefix, counterName) {
  // Failing somewhere inside this call for urlPrefix external ...
  clientSideInclude(id, urlPrefix + "?counter=" + counterName + "&referrer=" + escape(document.referrer));
}

function clientSideInclude(id, url) {
  var req = false;
  // For Safari, Firefox, and other non-MS browsers
  if (window.XMLHttpRequest) {
    try {
      req = new XMLHttpRequest();
    } catch (e) {
      req = false;
    }
  } else if (window.ActiveXObject) {
    // For Internet Explorer on Windows
    try {
      req = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e) {
      try {
	req = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (e) {
	req = false;
      }
    }
  }
  var element = document.getElementById(id);
  if (!element) {
   // didn't work
   element.innerHTML = "_";
   return;
  }
  if (req) {
    // Synchronous request, wait till we have it all
    req.open('GET', url, false);
    req.send(null);
    element.innerHTML = req.responseText;
  } else {
    // didn't work
    element.innerHTML = "-";
  }
}
