function swapDisplay(el, tag)
{
    var e = '#' + el;
    var t = tag==undefined ? "span" : tag;
    if($(e).attr("class")=='not_hidden')
    {
        $(e).removeClass("not_hidden");
        $(e).addClass("hidden");
        return false;
    }
    //if hidden
    var cl = getElementsByClassName("not_hidden", t);
    for(var i=0; i<cl.length; i++)
    {
        if($(e)!=cl[i])
        {
            cl[i].className='hidden';
        }
    }
    $(e).removeClass("hidden");
    $(e).addClass("not_hidden");

    return false;
}

function getElementsByClassName(className, tag, elm){
	var testClass = new RegExp("(^|\\\\s)" + className + "(\\\\s|$)");
	var tag = tag || "*";
	var elm = elm || document;
	var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag);
	var returnElements = [];
	var current;
	var length = elements.length;
	for(var i=0; i<length; i++){
		current = elements[i];
		if(testClass.test(current.className)){
			returnElements.push(current);
		}
	}
	return returnElements;
}
