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;
}

var CSSUtils = {};//Class.create();

CSSUtils.hasSelector = function(node, selector) {
	return (-1 != $(node).className.indexOf(selector));
}
CSSUtils.addSelector = function(node, selector) {
	node = $(node);
	if ( !CSSUtils.hasSelector(node, selector) ) {
		node.className += " " + selector;
	}
}
CSSUtils.removeSelector = function(node, selector){
	node = $(node);
	if ( CSSUtils.hasSelector(node, selector) ) {
		var i = node.className.indexOf(selector);
		var s1 = node.className.substr(0, i-1);
		var s2 = node.className.substr(i+selector.length);
		node.className = s1+s2;
	}
}
CSSUtils.hide = function(node) {
	CSSUtils.addSelector($(node), "hidden");
}
CSSUtils.show = function(node) {
	CSSUtils.removeSelector($(node), "hidden");
}
CSSUtils.hidden = function(node) {
	return CSSUtils.hasSelector(node, "hidden");
}
CSSUtils.fold = function(node) {
  if (CSSUtils.hidden(node)) {
    CSSUtils.show(node);
  }else{
    CSSUtils.hide(node);
  }
}
