function removeClassFromElement(oElement, sClassName) {
	if( isClassInElement(oElement, sClassName)){
		var oPattern = oElement.className.match(' '+sClassName) ? (' ' + sClassName) : sClassName;
		oElement.className = oElement.className.replace(oPattern,'');
	}	
}		
function addClassToElement(oElement, sClassName) {
	if (!isClassInElement(oElement, sClassName)) {
		oElement.className += oElement.className ? (' ' + sClassName) : sClassName;
	}
}	
function isClassInElement(oElement, sClassName) {
	return new RegExp('\\b'+sClassName+'\\b').test(oElement.className)
}

function toggleClassInElement(oElement,sClassName){
	if( isClassInElement(oElement, sClassName)){
		removeClassFromElement(oElement, sClassName);
	}
	else{
		addClassToElement(oElement, sClassName);
	}
}

/* alle childnodes verwijderen van een node*/
function removeChildNodes(elm) {
	var nodeList = [];
	while (elm.hasChildNodes())
	nodeList.push(elm.removeChild(elm.firstChild));
	return nodeList;
}
/* Nieuwe <TR> structuur aan een  bestaande Tbody hangen</TR>*/
function updateDivTable(newInnerHTML, theTargetTbody)
{		
	//newInnerHTML heeft wel een table tag nodig (dus een correcte table structuur aanleveren)
    var divElm = document.createElement('DIV'); // maak nieuw tempdivje
    divElm.innerHTML = newInnerHTML; // plemp innerhtml erin
    document.body.appendChild(divElm); // hang aan body   
    Rows = divElm.getElementsByTagName('TR'); // zoek alle TRs daaruit
	var obj = document.getElementById(theTargetTbody)
	var lengte = Rows.length
    for (i=0; i<= lengte; i++)
    {
      try { obj.appendChild(Rows[0]); } catch (E) {} // hang aan tbody elm en onderdruk fouten van IE
    }
    document.body.removeChild(divElm); // haal tempdivje weer weg
}