get_element = function(id){
	return document.getElementById(id);
}

//place all elements identified by the same classname into an array
get_elements_by_class_name = function(str_class,tag,obj_element){
	tag = tag || "*";
	obj_element = obj_element || document;

	var obj_collection = obj_element.getElementsByTagName(tag);

	if(!obj_collection.length &&  tag == "*" &&  obj_element.all) obj_collection = obj_element.all;

	var arr = new Array();
	var delimeter = str_class.indexOf('|') != -1  ? '|' : ' ';
	var classes = str_class.split(delimeter);

	for(var i=0, j=obj_collection.length; i<j; i++){
		var obj_classes = obj_collection[i].className.split(' ');
		if(delimeter == ' ' && classes.length > obj_classes.length) continue;

		var c = 0;
		comparisonLoop:

		for(var k=0, l=obj_classes.length; k<l; k++){
			for (var m=0, n=classes.length; m<n; m++){
				if(classes[m] == obj_classes[k]) c++;
				if((delimeter == '|' && c == 1) || (delimeter == ' ' && c == classes.length)){
					arr.push(obj_collection[i]);
					break comparisonLoop;
				}
			}
		}
	}
	return arr;
}			