﻿function eventManager(methods)
{
 if (!this.isObject) { return (new eventManager(arguments)).constructor; }
 
 var methodList = new Array();
 for (var i = 0; i < methods.length; i++) { methodList[methods[i].toString()] = methods[i]; }
 
 this.constructor = function(e)
 {
  e = e ? e : window.event;
  e.properThis = this;
  for (method in methodList) { methodList[method](e); }
 }
 
 this.constructor.insertMethod = function(method) { methodList[method.toString()] = method; }
 this.constructor.removeMethod = function(method) { delete methodList[method.toString()]; }
}

eventManager.prototype.isObject = true;
window.onload = eventManager();

function backToPrevious(id)
{
    var numPages = 0;
    if (document.getElementById)
    {
        numPages = document.getElementById(id).value;
        if (isNaN(numPages)) { numPages = 0; }
    }
    
    numPages++;
    history.go(-numPages);
}

function attachEventMethod(obj, eventType, fn, useCapture)
{
    if (obj.addEventListener) { obj.addEventListener(eventType, fn, useCapture); return true; }
    else if (obj.attachEvent) { var rtn = obj.attachEvent("on" + eventType, fn); return rtn; }
    else { obj["on" + eventType] = fn; }
}