var EventListeners = new Array();
window.onload = function(){
	var EventListener;
	var ElementID;
	var ElementName;
	var EventType;
	var Handler;
	var Capture;
	var Elements;
	var Element;
	for (var ListenerCount=0; ListenerCount < EventListeners.length; ListenerCount++){
		EventListener = EventListeners[ListenerCount];		
		EventType 	= EventListener.EventType;
		Handler 	= EventListener.Handler;
		Capture 	= EventListener.Capture;
		ElementID 	= EventListener.ElementID;
		ElementName = EventListener.ElementName;
		if (ElementID != ""){
			Element = document.getElementById(ElementID);
			if (Element != null){
				AttachEventListener(Element, EventType, Handler, Capture);
			}
		} 
		if (ElementName != ""){
			Elements = document.getElementsByName(ElementName);
			for (var ElementCount = 0; ElementCount < Elements.length; ElementCount++){
				Element = Elements[ElementCount];
				AttachEventListener(Element, EventType, Handler, Capture);
			}
		} 	
		
		if (EventType == "load"){
			Handler();
		}
		
	}	
}

function AttachEventListener(element, eventType, handler, capture){
	if (element.addEventListener)
		element.addEventListener(eventType, handler, capture);
	else if (element.attachEvent)
		element.attachEvent("on" + eventType, handler);
}

function AddEventListener(elementID, elementName, eventType, handler, capture){
	var EventListenerObj = new EventListener(elementID, elementName, eventType, handler, capture)
	var NumListeners = EventListeners.length
	EventListeners[NumListeners] = EventListenerObj
}

function CancelDefaultAction(e){
	if (e.preventDefault) e.preventDefault();
	else e.returnResult = false;
	if (e.stopPropagation) e.stopPropagation();
	else e.cancelBubble = true;
}

function EventListener(ElementID, ElementName, EventType, Handler, Capture){ 
	this.ElementID = ElementID
	this.ElementName = ElementName
	this.EventType = EventType
	this.Handler = Handler
	this.Capture = Capture
}
EventListener.prototype.Construct = function(){ }

function GetEventElement(e){	
	var targ;
	if (!e) var e = window.event;
	if (e.target) targ = e.target;
	else if (e.srcElement) targ = e.srcElement;
	if (targ.nodeType == 3) {
		// defeat Safari bug
		targ = targ.parentNode;
	}
	return targ;
}
