function procesaMenus() {
	var uls=document.getElementsByTagName('ul');
	for (i=0;i<uls.length;i++) {
		var ul=uls.item(i);
		var esmenu=ul.getAttribute('menu');
		if (esmenu && esmenu==1) {
//alert('Procesando :'+ul.id);
			procesaMenu(ul);
		}
	}
}

function procesaMenu(elemento) {
//alert(elemento.tagName);
	if (elemento.childNodes) {
		var hijos=elemento.childNodes;
//alert('Este padre: '+elemento.tagName+' Tiene : '+hijos.length+' hijos');
		for (var i=0;i<hijos.length;i++) {
//alert('Hijo '+i+':'+hijos.item(i).tagName);
			var hijo=hijos.item(i);
			if (hijo.tagName && (hijo.tagName.toLowerCase()=='ul' || hijo.tagName.toLowerCase()=='li')) {
				procesaMenu(hijo);
			}
		}
	}
	if (elemento.tagName && (elemento.tagName.toLowerCase()=='ul' || elemento.tagName.toLowerCase()=='li')) {
		adjuntaEventos(elemento);
	}
}

function adjuntaEventos(elemento) {
	//alert('Adjuntando '+elemento.tagName);
		elemento.onmouseover=hoverRollOver;
		elemento.onmouseout=hoverRollOff;
}

function hoverRollOver() {
	this.origClassName = this.className;						// backup origonal className
	var tempClassStr = this.className;		
	tempClassStr += "Hover";															// convert name+'Hover' the last class name to emulate tag.class:hover
	tempClassStr = tempClassStr.replace(/\s/g,"Hover ");	//convert name+'Hover' the others to emulate tag.class:hover
	tempClassStr += " hover";															// add simple 'hover' class name to emulate tag:hover
	this.className = this.className + " " + tempClassStr; 
	//window.status = this.className;									// only for TEST
}
function hoverRollOff() {
	this.className = this.origClassName;
}

addonload("procesaMenus()");
