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";
	if(element.parentNode.parentNode.id == 'navi') {
		Cufon.refresh('#navi a');
	}
}

function _communiacs_hide(element){
	if(element.className == 'hover')
		element.className = '';
	else {
		element.className = element.className.replace(/ hover/g, "");
	}
	if(element.parentNode.parentNode.id == 'navi') {
		Cufon.refresh('#navi a');
	}
}

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



function cm_dynamic_height() {
	document.getElementById('wrapper_back').style.height = document.getElementById('wrapper').offsetHeight + 'px';
}


if (window.addEventListener) {
	document.addEventListener("DOMContentLoaded", _cm_onload_handler, false);
	window.addEventListener("resize", _cm_resize_handler, false);
}
else if(document.attachEvent) {
	window.attachEvent('onload', _cm_onload_handler);
	window.attachEvent('onresize', _cm_resize_handler);
}
else {
	var onload_old = window.onload;
	window.onload = function() {
		if(onload_old) {
			onload_old();
		}
		_cm_onload_handler();
	}
	var onresize_old = document.body.onresize;
	document.body.onresize = function() {
		if(onresize_old) {
			onresize_old();
		}
		_cm_resize_handler();
	}
}

function _cm_onload_handler() {
	cm_dynamic_height();
}

function _cm_resize_handler() {
	cm_dynamic_height();
}



function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
   if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}

