function $() {
  var elements = new Array();

  for (var i = 0; i < arguments.length; i++) {
    var element = arguments[i];
    if (typeof element == 'string')
      element = document.getElementById(element);

    if (arguments.length == 1)
      return element;

    elements.push(element);
  }

  return elements;
}

// macros
function len(x, y) {
	return Math.sqrt((x*x)+(y*y));
}

function ElmPos(o) {
	this.x = 0;
	this.y = 0;
	if (o.offsetParent) {
		while (o.offsetParent) {
			this.x += o.offsetLeft
			this.y += o.offsetTop
			o = o.offsetParent;
		}
	}
	else if (o.x || o.y) {
		this.x += o.x;
		this.y += o.y;
	}
}

function MousePos(e) {
	// uitbouwen voor mouse relatief tot obj 
	if (!e) var e = window.event;
	this.x = 0;
	this.y = 0;
	if (e.pageX || e.pageY)
	{
		this.x = e.pageX;
		this.y = e.pageY;
	}
	else if (e.clientX || e.clientY)
	{
		this.x = e.clientX + document.body.scrollLeft;
		this.y = e.clientY + document.body.scrollTop;
	}
}

function getScrollTop(t) {
	if(t.innerHeight) return t.window.pageYOffset;
	else if (t.document.documentElement && t.document.documentElement.scrollTop) return t.document.documentElement.scrollTop;
	else if (t.document.body) return t.document.body.scrollTop;
	else return false;
}

function getPageWidth() {
	if (self.innerWidth) return self.innerWidth;
	if (document.documentElement && document.documentElement.clientWidth) return document.documentElement.clientWidth;
	if (document.body) return document.body.clientWidth;
}
function getPageHeight() {
	if (self.innerHeight) return self.innerHeight;
	if (document.documentElement && document.documentElement.clientHeight) return document.documentElement.clientHeight;
	if (document.body) return document.body.clientHeight;
}
