﻿//  ---------------------------------------------------------------------------
//	attach/detach events to element
//  ---------------------------------------------------------------------------

/*  the event supplied must be supplied without the "on" prefix eg: for an "onclick" the event would be "click".  */

function objectAttachEvent(obj, eventHandler, functionName, useCapture) {
	if (useCapture == null) {
		useCapture = false;
	}
	if (window.attachEvent) {
		obj.attachEvent("on" + eventHandler, functionName);
	} else if (window.addEventListener) {
		obj.addEventListener(eventHandler, functionName, useCapture);
	}
}

function objectDetachEvent(obj, eventHandler, functionName, useCapture) {
	if (useCapture == null) {
		useCapture = false;
	}
	if (window.detachEvent) {
		obj.detachEvent("on" + eventHandler, functionName);
	} else if (window.removeEventListener) {
		obj.removeEventListener(eventHandler, functionName, useCapture);
	}
}

//  ---------------------------------------------------------------------------
//	offset positions
//  ---------------------------------------------------------------------------

/*  return the left coordinate of an element relative to the page  http://www.brainjar.com/  */

function getPageOffsetLeft(obj) {
	var i = obj.offsetLeft;
	if (obj.offsetParent != null) {
		i += getPageOffsetLeft(obj.offsetParent);
	}
	return i;
}

function getPageOffsetTop(obj) {
	var i = obj.offsetTop;
	if (obj.offsetParent != null) {
		i += getPageOffsetTop(obj.offsetParent);
	}
	return i;
}
	