// common functions

function createRequest() {									// create a variable named "request"
  try {
    request = new XMLHttpRequest();							// non MS browser
  } catch (tryMS) {
    try {
      request = new ActiveXObject("Msxml2.XMLHTTP");		// MS IE version >= 5
    } catch (otherMS) {
      try {
        request = new ActiveXObject("Microsoft.XMLHTTP");	// MS IE version < 5
      } catch (failed) {
        request = null;										// no valis browser
      }
    }
  }
  return request;
}

// from HeadFirst, chap 04 final

function getActivatedObject(e) {
  var obj;
  if (!e) {
    // early version of IE
    obj = window.event.srcElement;
  } else if (e.srcElement) {
    // IE 7 or later
    obj = e.srcElement;
  } else {
    // DOM Level 2 browser
    obj = e.target;
  }
  return obj;
}

// from HeadFirst, chap 04 final
function addEventHandler(obj, eventName, handler) {
  if (document.attachEvent) {
    obj.attachEvent("on" + eventName, handler);
  } else if (document.addEventListener) {
    obj.addEventListener(eventName, handler, false);
  }
}

