/*
   New Perspectives on HTML, XHTML, and DHTML
   Tutorial 15
   Review Assignment

   Filename: events.js

   Global Variables:

   IE
      Contains the Boolean value true if the browser supports the IE event model 
      and false if otherwise.
   DOM
      Contains the Boolean value true if the browser supports the DOM event
      model and false if otherwise.

   Functions List:

   applyEventF(obj,ename,fname,capture)
      Applies a function fname to an object during an event ename.

   removeEventF(obj,ename,fname,capture)
      Remove a function fname from an object during an event ename.

   eventSource(e)
      Returns the object in which an event has occurred.

   getKeyCode(e)
      Returns the keyCode value of a keyboard event.   
   

*/

var IE = document.attachEvent ? true:false;
var DOM = document.addEventListener ? true: false;


function applyEventF(obj,ename,fname,cap) {
   if (IE) obj.attachEvent("on"+ename, fname);
   else if (DOM) obj.addEventListener(ename,fname,cap);
}


function removeEventF(obj,ename,fname,cap) {
   if (IE) obj.detachEvent("on"+ename, fname);
   else if (DOM) obj.removeEventListener(ename,fname,cap);
}


function eventSource(e) {
   if (IE) return event.srcElement;
   else if (DOM) return e.currentTarget;
}

function getKeyCode(e) {
   if (IE) return event.keyCode;
   else if (DOM) return e.keyCode;
}

