
	/* Declare the WF namespace! */
	var WF = window.WF || {}

	WF.base = function() {

		return {

			addEvent : function( obj, type, fn ) {

				if (obj.addEventListener) {
					obj.addEventListener( type, fn, false );
				} else if (obj.attachEvent) {
					obj["e"+type+fn] = fn;
					obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
					obj.attachEvent( "on"+type, obj[type+fn] );
				}

			}, 

			cancelEvent : function(e) {
				if(window.event) {
					window.event.cancelBubble = true;
					window.event.returnValue = false;
				}
				if(e && e.stopPropagation && e.preventDefault) {
					e.stopPropagation();
					e.preventDefault();
				}
			},

			elementFromEvent : function(e) {
				if(window.event) return e.srcElement;
				if(e && e.stopPropagation && e.preventDefault) return e.target;
				false
			},

			initialize : function() {
				if(WF.base.popup) {
					WF.base.popup.initialize();
				}
			}

		}

	}();

	WF.base.addEvent(window, 'load', WF.base.initialize);
