function Pack(obj, cb) {
	if (obj)
		return function(e) { return cb.apply(obj, [e]); }
	else
		return cb;
}

function Pack2(obj, cb, param) {
	if (obj)
		return function(e) { return cb.apply(obj, [param, e]); }
	else
		return function(e) { return cb(param, e); } ;
}

function members(e) {
	var s = "";
	var m;
	for (m in e)
		s = s + m + " ";
	return s
}

function posx(t) {
	tt = t;
	x = tt.offsetLeft;
	while (tt.offsetParent) {
		tt = tt.offsetParent;
		if (!isNaN(tt.offsetLeft))
			x += tt.offsetLeft;
	}
	return x;
}

function posy(t) {
	tt = t;
	y = tt.offsetTop;
	while (tt.offsetParent) {
		tt = tt.offsetParent;
		if (!isNaN(tt.offsetTop))
			y += tt.offsetTop;
	}
	return y;
}

