function prepareEventLinks() {
  if (!document.getElementById || !document.getElementsByTagName) {
    return;
  }
  if (!document.getElementById("AJAX-Event-Nav")) {
    return;
  }
  var list = document.getElementById("AJAX-Event-Nav");
  var links = list.getElementsByTagName("a");
  for (var i=0; i<links.length; i++) {
    links[i].onclick = function() {
      var queryTemp = this.getAttribute("href").split("?")[1];
      var query = queryTemp.split("#")[0];
      return grabEventFile(query);
    };
  }
}

function displayLoading(element){
  var loadingDiv = document.createElement("div");
  loadingDiv.setAttribute('id','loadingDiv');
  loadingDiv.innerHTML = '<div id=\'loadingImageDiv\'><img src=\'http://media.winnipegfreepress.com/designimages/jq-lightbox-ico-loading.gif\' width=\'32\' height=\'32\' alt=\'Loading...\' /></div>';
  element.appendChild(loadingDiv);
}

function grabEventFile(query) {
  var file = "/templates/Uptown_Right_Event_Calendar?"+query;
  var request = getHTTPObject();
  if (request) {
    displayLoading(document.getElementById("AJAXcalendar"));
    request.onreadystatechange = function() {
      parseEventResponse(request);
    };
    request.open("GET", file, true);
    request.send(null);
    return false;
  } else {
    return true;
  }
}

function parseEventResponse(request) {
  if (request.readyState == 4) {
    if (request.status == 200 || request.status == 304) {
      var details = document.getElementById("AJAXcalendar");
      details.innerHTML = request.responseText;
    }
  }
}

function getHTTPObject() {
  var xhr = false;
  if (window.XMLHttpRequest) {
    xhr = new XMLHttpRequest();
  } else if (window.ActiveXObject) {
    try {
      xhr = new ActiveXObject("Msxml2.XMLHTTP");
    } catch(e) {
      try {
        xhr = new ActiveXObject("Microsoft.XMLHTTP");
      } catch(e) {
        xhr = false;
      }
    }
  }
  return xhr;
}

addLoadEvent(prepareEventLinks);

