
function set_recursive(o, tag, f) {
        var e=o.getElementsByTagName(tag);
        for(var i=0; i<e.length; i++)
         if(e[i].childNodes.length) {
          f(e[i]);
          }
        }

function menucreate(menu) {
        set_recursive(menu, 'ul', function(p){
                var l=document.createElement('a');
		var a=p.previousSibling;
                l.onclick=function(){menuclick(p)};
		l.appendChild(document.createTextNode(trim(a.data)));
		a.parentNode.replaceChild(l, a);
		p.style.fontSize="0.9em";
                });
	set_recursive(menu, 'li', function(p){
		print_r(p, p.getElementsByTagName('ul').length);
		if(p.getElementsByTagName('ul').length>0)
		 p.className='hide';
		else
		 p.className='item';
		});
        }
        
function menuclick(o) {
        if(o.parentNode.className=='hide')
         o.parentNode.className='show';
        else {
         o.parentNode.className='hide';
         set_recursive(o.parentNode, 'LI', function(p){
         	if(p.className!='item')
         	 p.className='hide'
         	});
         }
        return false;
        }
        



var print_r_recurence=0;
var print_r_return="";

function print_r(o, descr) {
	return;			// debug=false

	print_r_recurence=0;
	if(!descr)
	 descr="print_r";
	print_r_return=descr+":\n";
	print_r2(o);
	print_r_return+="\n";
	var d=document.createElement("pre");
	d.appendChild(document.createTextNode(print_r_return));
	document.body.appendChild(d);
	}
function print_r2(o) {
	var spaces="\t";
	for(var i=1; i<print_r_recurence; i++)
	 spaces+=" | ";
	if(print_r_recurence>0)
	 spaces+=" +-";

	if(!o) {
	 print_r_return+=spaces+"(undefined)";
	 return;
	 }
	if(o.tagName)
	 print_r_return+=spaces+o.tagName+"\n\r";
	else //if(trim(o.data))
	 print_r_return+=spaces+"\""+trim(o.data)+"\"\n\r";	 

	if(!o.childNodes)
	 return;
	print_r_recurence++;
	for(i=0; i<o.childNodes.length; i++)
	 print_r2(o.childNodes[i]);
	print_r_recurence--;
	}
        
function trim(a) {
	if(!a)
	 return "";
	while((a.substring(0,1)==' ')
	    ||(a.substring(0,1)=='\n')
	    ||(a.substring(0,1)=='\r')
	    )
	 a = a.substring(1, a.length);
	while((a.substring(a.length-1, a.length)==' ')
	    ||(a.substring(a.length-1, a.length)=='\n')
	    ||(a.substring(a.length-1, a.length)=='\r')
	    )
	 a = a.substring(0,a.length-1);
	return a;
	}
