Extend = function(destination,source) {
  for (var property in source) destination[property] = source[property];
  return destination;
}
var $E = function(tag) {if(document) return document.createElement(tag);}
Extend(Array.prototype,{
popValue: function(value) {
	if(this.length==0) return [];
	var newList = new Array();
	for(var i=0;i<this.length;i++) {
		if(this[i] != value) {
			newList.push(this[i]);
		}
	}
	this.length=0;
	for(var i=0;i<newList.length;i++) {this.push(newList[i]);}
	return newList;
},
clean: function() {
	if(this.length==0) return [];
	var newList = new Array();
	for(var i=0;i<this.length;i++) {
		if(this[i] != null || this[i] != '') {
			newList.push(this[i]);
		}
	}
	this.length=0;
	for(var i=0;i<newList.length;i++) {this.push(newList[i]);}
	return newList;
},
exists: function(value) {
	if(this.length==0) return false;
	var exists = false;
	for(var i=0;i<this.length;i++) {
		if(this[i] == value) {exists=true;break;}
	}
	return exists;
}
});

var $ = 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;
}