// custom functions used by javascript applications to attach events to methods, or remove them

// IMPORTANT! The script that uses these functions MUST provide a variable typeOfWindowEvent = typeof(window.event); as an argument. This is to workaround Safari weirdness.

var attachEventHandler = function(typeOfWindowEvent,objDOMNode,strEvent,handlerFunction,blnUseCapturePhase) {
	// alert(typeof(window.event));
	if (typeOfWindowEvent !== 'undefined') {
		// alert('IE');
		objDOMNode.attachEvent('on' + strEvent,handlerFunction); // IE version
	} else {
		// alert('DOM 2');
		// alert(objDOMNode);
		objDOMNode.addEventListener(strEvent,handlerFunction,blnUseCapturePhase); // Firefox and Safari version
	} // if
} // attachEventHandler

var removeEventHandler = function(typeOfWindowEvent,objDOMNode,strEvent,handlerFunction,blnUseCapturePhase) {
	if (typeOfWindowEvent !== 'undefined') {
		objDOMNode.detachEvent('on' + strEvent,handlerFunction); // IE version
	} else {
		objDOMNode.removeEventListener(strEvent,handlerFunction,blnUseCapturePhase); // Firefox and Safari version
	} // if
} // removeEventHandler

var eventHandlersHandlerTest = function() {
	
	alert('eventHandlersHandlerTest');
	
} // eventHandlersHandlerTest





var getStrEventType = function(objEvent) {
	
	if (!objEvent) {
				
		objEvent = window.event;
				
	} // if
			
	return objEvent.type;
	
} // getStrEventType







var getEleEventTarget = function(objEvent) {

	if (!objEvent) {
				
		objEvent = window.event;
				
	} // if
			
	if (window.event) {
				
		objEventTarget = window.event.srcElement;
			
	} else {
				
		objEventTarget = objEvent.target;

	} // if	
			
	return objEventTarget;

} // getStrEventType






var stopEvent = function(objEvent) {
	
	// alert(getEleEventTarget());
	
	if (objEvent && objEvent.stopPropagation) { // DOM2

		objEvent.stopPropagation();
		objEvent.preventDefault();

	} else { // IE

		window.event.cancelBubble = true;
		objEvent.returnValue = false;
	
	} // if
	
	return false;
	
} // stopEvent