function getElementsByClassName(classname, node) {
	if(!node) node = document.getElementsByTagName("body")[0];
   	var a = [];
   	var re = new RegExp('\\b' + classname + '\\b');
   	var els = node.getElementsByTagName("*");
   	for(var i=0,j=els.length; i<j; i++)
	   if(re.test(els[i].className))a.push(els[i]);
	return a;
}

function chDisplay(obj, cls, parent_id, sc){
	var p = document.getElementById(parent_id);
	if(p){
		var divs = getElementsByClassName(cls, p);
		if(divs){
			for(i=0; i<divs.length; i++){
				obj.className = divs[i].style.display != 'none' ? 'contracted' : '';
				divs[i].style.display = divs[i].style.display != 'none' ? 'none' : 'block';
			}
			var s = document.getElementById(sc);
			if(s){
				s.style.display = s.style.display != 'none' ? 'none' : 'block';
			}
		}
	}
}