
/* site javascript */


function ajax_request(url, ajax_return)
  {

  var request;

  request = false;
  if (window.XMLHttpRequest)
    {
    try
      {
      request = new XMLHttpRequest();
      }
    catch (e)
      {
      }
    }
  else if (window.ActiveXObject)
    {
    try
      {
      request = new ActiveXObject("Microsoft.XMLHTTP");
      }
    catch (e)
      {
      }
    }
  else
    return false;
  if (request)
    {
    request.onreadystatechange = function() { ajax_response(request, ajax_return, url); };
    request.open('GET', url, true);
    request.send(null);
    return true;
    }
  else
    return false;
  }

function ajax_response(request, ajax_return, url)
  {
  if (request.readyState == 4)
    {
    if (request.status == 0 || request.status == 200)
      ajax_return(request.responseText);
    else
      window.location = url;
    }
  }

function html_response(response)  /* show the response */
  {
  var div, first, last;

  div = document.getElementById("center");
  first = response.indexOf("<body");
  if (first < 0)
    div.innerHTML = response;  /* html fragment or text */
  else
    {
    first += response.substring(first).indexOf(">") + 1;  /* html file */
    last = response.lastIndexOf("</body>") - 1;
    div.innerHTML = response.substring(first, last);
    }
  }

function over(elem)
  {
  elem.className = "over";
  var ul = elem.getElementsByTagName("ul");
  if (ul.length > 0)
    ul[0].className = "over";
  }

function out(elem)
  {
  elem.className = "";
  var ul = elem.getElementsByTagName("ul");
  if (ul.length > 0)
    ul[0].className = "";
  }

function show(elem)  /* show the file */
  {
  var alt, label, type, url;

  window.scroll(0, 0);  /* scroll the window to the top left */
  url = elem.href;
  type = url.match(/\.\w+$/).toString().substr(1).toLowerCase();
  if (type == "jpg" || type == "gif")  /* image file */
    {
    alt = elem.getElementsByTagName("img")[0].alt;
    if (alt)
      {
      if (alt.indexOf("|") > 0)
        alt = alt.replace(/\s*\|\s*/, "<div>").replace(/\s*\|\s*/g, "</div><div>") + "</div>";
      label = alt;
      }
    else
      label = elem.innerHTML.substr(elem.innerHTML.lastIndexOf(">") + 1);
    document.getElementById("center").innerHTML = "<div class=\"image\"><img src=\"" + url + "\" /></div>" +
      "<div class=\"label\">" + label + "</div>";
    }
  else if (type == "html" || type == "htm" || type == "txt")  /* html or text file */
    {
    if (!ajax_request(url, html_response))
      return true;
    }
  return false;
  }

