function createRequest() {
	try {
		request = new XMLHttpRequest();
	} catch (tryMS) {
		try {
			request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (otherMS) {
			try {
				request = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (failed) {
				request = null;
			}
		}
	}

	return request;
}

//==============================================================================

function addEventHandler (obj, eventName, handler)
{
	if (document.attachEvent) {
		obj.attachEvent("on" + eventName, handler);
	} else if (document.addEventListener) { 
		obj.addEventListener(eventName, handler, false);
	}
}

//==============================================================================

function getActivatedObject(e) {
	var obj;

	// IE 6 or earlier
	if (!e) {
		obj = window.event.srcElement;

	// IE 7 or later
	} else if (e.srcElement) {
		obj = e.srcElement;

	// DOM Level 2 browsers
	} else  {
		obj = e.target;
	}

	return obj;
}

//==============================================================================


