function $2(element) {
	if (typeof element == 'string') element = document.getElementById(element);
	return element;
}


function addLoadEvent(func) {
	var oldonload = window.onload;
	if (typeof window.onload != 'function') {
		window.onload = func;
	} else {
		window.onload = function() {
			oldonload();
			func();
		}
	}
}

document.getElementsByClassName = function(className) {
	var children = document.getElementsByTagName('*') || document.all;
	var elements = new Array();
	
	for (var i = 0; i < children.length; i++) {
		var child = children[i];
		var classes = child.className.split(' ');
		for (var j = 0; j < classes.length; j++) {
			if (classes[j] == className) {
				elements.push(child);
				break;
			}
		}
	}
		
	return elements;
}

if(Array.prototype.push == null) {
	Array.prototype.push = function(item) {
		this[this.length] = item;
		return this.length;
	}
};

if (Array.prototype.shift == null) {
	Array.prototype.shift = function() {
		var item = this[0];
		for (var i = 0; i < this.length - 1; i++) this[i] = this[i + 1];
		this.length--;
		return item;
	}
};

Array.prototype.getKey = function(value) {
	var key = false;
	for (var i = 0; i < this.length; i++) {
		if (this[i] === value) {
			key = i;
			break;
		}
	}
	return key;
}

if (!window.Element) {
  var Element = new Object();
}

Element.hasClassName = function(element, className) {
	element = $(element);
	if (!element) return;
	var a = element.className.split(' ');
	for (var i = 0; i < a.length; i++) {
		if (a[i] == className)
		return true;
	}
	return false;
}

Element.addClassName = function(element, className) {
	element = $(element);
	Element.removeClassName(element, className);
	element.className += ' ' + className;
}

Element.removeClassName = function(element, className) {
	element = $(element);
	if (!element) return;
	var newClassName = '';
	var a = element.className.split(' ');
	for (var i = 0; i < a.length; i++) {
		if (a[i] != className) {
			if (i > 0) newClassName += ' ';
			newClassName += a[i];
		}
	}
	element.className = newClassName;
}
  