/************************************************************************
 *
 *  DOM Behaviours - common routines and functions for adding
 *  a behaviour layer to an (X)HTML document.
 *
 ***********************************************************************/



/************************************************************************
 *
 *  Attaching events to element nodes
 *  from http://www.sitepoint.com/article/structural-markup-javascript
 *   * addEvent
 *   * removeEvent
 *
 ***********************************************************************/

function addEvent(obj, evType, fn, useCapture){
  if (obj.addEventListener){
    obj.addEventListener(evType, fn, useCapture);
    return true;
  } else if (obj.attachEvent){
    var r = obj.attachEvent("on"+evType, fn);
    return r;
  } else {
    alert("Handler could not be attached");
  }
}