var utils=(function(){
	var u;
	if('addEventListener' in window){
		u={
			addEvent:function(element, type, listener, useCapture, invert){
				var action=invert?'remove':'add';
				element[action+'EventListener'](type, listener, useCapture);
			},
			preventDefault:function(e){
				e.preventDefault();
			},
			stopPropagation:function(e){
				e.stopPropagation();
			},
			target:'target'
		};
	}
	else if('attachEvent' in window){
		u={
			addEvent:function(element, type, listener, useCapture, invert){
				var action=invert?'detach':'attach';
				element[action+'Event']('on'+type, listener);
			},
			preventDefault:function(e){
				e.returnValue=false;
			},
			stopPropagation:function(e){
				e.cancelBubble=true;
			},
			target:'srcElement'
		};
	}
	return u;
}());
