childcareaware.org/includes/menu/ch ... is really elegant solution to have drop down menu, but I don't know what is wrong with your case. Maybe it's because Thesaurus change HTML-tree on-the-fly in the time when menu script also change properties of HTML-tree by its own way.  
Try to limit your area of Thesaurus analysis (Thesaurus activity area). For example you can make 
script to parse only 2 blocks:
	<div id="Block1">text text</div>
		text text
	<div id="Block2">text text</div>
You have to change parseChildNodes() function of thesaurus.js  in the following 
way:
	function parseChildNodes(obj) {
		for (var i=0; i<obj.childNodes.length; i++) {
			if( obj.childNodes[i].childNodes.length>0 && 
			obj.childNodes[i].id=="Block1" && 
			obj.childNodes[i].id=="Block2")
			parseChildNodes( obj.childNodes[i] );
			else parseText( obj.childNodes[i] ) ;
		}
	}