function hasCn(el, className) {
if (!el) return false;
var cn=' ' + el.className + ' ';
return (cn.indexOf(' ' +  className + ' ') > -1);
}
function addCn(el, className) {
if (!el) return false;
if (el.className) {
if (!hasCn(el, className)) el.className += ' ' + className;
} else {
el.className=className;
}
}
function rmCn(el, className) {
if (!el) return false;
var cn=el.className;
if (!cn) return;
var a=cn.split(/\s+/);
var n=new Array();
for (var i=0; i < a.length; i++) {
if (a[i] != className) n.push(a[i]);
}
el.className=n.join(' ');
}
function parentByTagName(el, tagName) {
while ((el=el.parentNode)) {
if (el.tagName == tagName) return el;
}
return null;
}
function childByCn(el, className) {
el=el.firstChild;
while (el) {
if (hasCn(el, className)) return el;
el=el.nextSibling;
}
return null;
}
function parentByCn(el, cn) {
while ((el=el.parentNode)) {
if (hasCn(el, cn)) return el;
}
return null;
}
function searchParent(el, tagName) { alert('searchParent ist obsolete. nimm parentByCn.');	}
function toggleEl(el) {
el.style.display=(el.style.display == 'none') ? '' : 'none';
}

