function cm_is_child_of(elem,parent_elem) {
	var t_elem = elem;
	while(t_elem != undefined && t_elem != null) {
		if(t_elem == parent_elem) {
			return true;
		}
		t_elem = t_elem.parentNode;
	}
	return false;
}

function _communiacs_show(element){
	element.className += " hover";
}

function _communiacs_hide(element){
	if(element.className == 'hover')
		element.className = '';
	else {
		element.className = element.className.replace(/ hover/g, "");
	}
}

function _communiacs_getDirectChildrenByTagName(p_source, p_tag) {
	var ret = new Array();
	for(var i = 0; i < p_source.childNodes.length; i++) {
		if(p_source.childNodes[i].nodeType == 1 && p_source.childNodes[i].nodeName.toLowerCase() == p_tag.toLowerCase()) {
			ret[ret.length] = p_source.childNodes[i];
		}
	}
	return ret;
}

function _communiacs_getElementsByTagAndClass(p_source, p_tag, p_class, p_direct_child) {
	var t_return = new Array();
	if(!p_direct_child) {
		var t_elements = p_source.getElementsByTagName(p_tag);
	}
	else {
		var t_elements = _communiacs_getDirectChildrenByTagName(p_source, p_tag);
	}
	for(var i = 0; i < t_elements.length; i++) {
		if(t_elements[i].className.indexOf(p_class) > -1) {
			t_return[t_return.length] = t_elements[i];
		}
	}
	return t_return;
}

function openPreviousLink(elem) {
	elem.parentNode.parentNode.getElementsByTagName('a')[0].onclick();
}

