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

function trim(str, chars) {
	return ltrim(rtrim(str, chars), chars);
}
 
function ltrim(str, chars) {
	chars = chars || "\\s";
	return str.replace(new RegExp("^[" + chars + "]+", "g"), "");
}
 
function rtrim(str, chars) {
	chars = chars || "\\s";
	return str.replace(new RegExp("[" + chars + "]+$", "g"), "");
}

function addClass(element, className) {

    var c = trim(element.className).split(' ');
    var classes=new Array();
    var need=true;
    for(var i=0; i<c.length; ++i) { if (c[i]=='') continue;
    	
    	classes.push(c[i]); if(need && c[i]==className) need=false;
    }
    	
    if (need) classes.push(className);
    element.className=classes.join(' ');
    return need;
}

function removeClass(element, className) {

    var removed = element.className.replace(new RegExp(className,'g'),'');
    var ret = removed != element.className;
    element.className=removed;
    return ret;
}

function hasClass(element, className) {

    var c = trim(element.className).split(' ');
    for (var i=0; i<c.length; ++i) if (c[i]==className) return true;
    return false;
}

