var Events = {
	whichBrowser:function(){
		// Check browsers support
		if(document.attachEvent) return -1; // IE
		else if(document.addEventListener) return 1; // Standards compliance browsers
		else return 0;
	},
	iBrowser:0,

	// function for add an event handler to specific element
	// will override for use a specific browser method
	// return false if no detection used (usually when the browser isn't supported the w3c dom or IE dom
	addHandler:function(){ return false; },

	// function for remove an event handler to specific element
	// will override for use a specific browser method
	// return false if no detection used (usually when the browser isn't supported the w3c dom or IE dom
	removeHandler:function(){ return false; },

	getEventObj:function(e){
		// return the Event Object that registered to the event
		return e?e:event;
	},

	// return the element that the handler work from.
	getTarget:null
}

// make a browser detectation
Events.iBrowser = Events.whichBrowser();

if(Events.iBrowser===1){
	// Override method for Standards compliance browsers
	Events.addHandler = function(sEventName, oElement, fHandler){
		oElement.addEventListener(sEventName, fHandler, false);
		return true;
	}
	Events.removeHandler=function(sEventName, oElement, fHadnler){
		oElement.removeEventListener(sEventName, fHandler, false);
		return true;
	}
	Events.getTarget = function(oEvent){ oEvent.target; }

}else if(Events.iBrowser===-1){
	// Override method for MSIE engine
	Events.addHandler = function(sEventName, oElement, fHandler){
		oElement.attachEvent("on"+sEventName, fHandler);
		return true;
	}
	Events.removeHandler=function(sEventName, oElement, fHadnler){
		oElement.detachEvent("on"+sEventName, fHandler);
		return true;
	}
	Events.getTarget = function(oEvent){	 oEvent.srcElement;	}
}



