
var isIE = (document.all && /MSIE/.test(navigator.userAgent)) ? true : false, touts = [];

function makemenu(id) {
var menu = document.getElementById(id), lis = menu.getElementsByTagName('li'), 
    pid = 0, cn = -1;
  for(var i = 0; i < lis.length; i++) {
	var pid = lis[i].className.replace(/^.*\b(page-item-)(\d+).*$/, '$2');
	// sub item
	var ul = parentTag(lis[i], 'ul'); 
    if(hasClass(ul, 'subpages')) continue;
	  if(parentTag(ul, 'ul')) {
		addClass(ul, 'subpages');
		continue;
		}
	// o link
	var thelink = lis[i].getElementsByTagName('a')[0];
	  if(typeof lColors == 'undefined') lColors = ['#CCC'];
	cn = cn >= lColors.length-1 ? 0 : cn+1;
	thelink.style.borderBottomColor = lColors[cn]; 
	lis[i].onmouseover = closeallmenus;
	// item com submenu
	var subul = lis[i].getElementsByTagName('ul');
	  if(subul.length) { 
		var submenu = subul[0], sulis = submenu.getElementsByTagName('li'), sdw = 0;
		sulis[0].style.borderLeft = 'none';
		//sulis[0].style.paddingLeft = '12px'; // margin maior no primeiro item

		
		  for(var x = 0; x < sulis.length; x++) {
			sulis[x].style.borderColor = lColors[cn]; 
			sdw += sulis[x].offsetWidth+3;
			}
		submenu.diffWidth = (isIE ? sdw : 0) + sdw;
		submenu.style.width = sdw+"px";
		submenu.id = "sublist_"+pid;
		
		if(/(\.com|wordpress)\/?$/.test(location.href)) {
		var subas = submenu.getElementsByTagName('a');
		  for(var x = 0; x < subas.length; x++) subas[x].style.backgroundColor = '#FFF';
		}
		//alert(navigator.appVersion);
		// hack para o IE6
		if(isIE && /MSIE 6/.test(navigator.appVersion)) css(submenu, 'display', 'none');
		var container = toAbsDiv(submenu, "overflow:hidden; height:23px; width:"+sdw+"px;"); 
		if(isIE && /MSIE 6/.test(navigator.appVersion)) {
		css(submenu, 'display', 'block');
		//css(container, 'width', sdw+'px');
		}
		
		container.id = 'container_'+pid;
		addClass(container, 'submen nodisplay');
		container.isOpen = false;
		container.touts = [];
		container.clear = clearmenu;
    lis[i].onmouseover = container.onmouseover = new Function("cleartouts(); closeallmenus(); menuopen("+pid+");");
		lis[i].onmouseout = container.onmouseout = new Function("touts.push(setTimeout('closeallmenus();', 500));");
		css(submenu, "margin-left", "-"+sdw+"px");
		}
	}
removeClass(_get('himenu'), 'invisible');
}

function movemenu(elem, iterator, end) {
var ini = parseInt(css(elem, 'margin-left')), val = Math.floor(((end - ini) * iterator) / 100);
css(elem, 'margin-left', ini+val+'px');
}

function menuopen(id) {
var elem = _get('container_'+id);
elem.clear();
var ul = elem.getElementsByTagName('ul')[0], wid = parseInt(ul.style.width) + ul.diffWidth;
removeClass(elem, 'nodisplay');
clearEffect(ul.id);
elem.isOpen = true;
elem.touts = effect(ul.id, 0, 100, 8, 'movemenu', null, 0);
}

function menuisopen(id) { return _get('container_'+id).isOpen; }

function menuclose(id) {
var elem = _get('container_'+id);
elem.clear();
var ul = elem.getElementsByTagName('ul')[0], wid = 0-ul.diffWidth;
clearEffect(ul.id);
elem.isOpen = false;
elem.touts = effect(ul.id, 0, 100, 8, 'movemenu', new Function("addClass(_get('"+elem.id+"'), 'nodisplay');"), wid);
}

function closeallmenus() {
var menus = getByClassName('submen', 'div');
	for(var i = 0; i < menus.length; i++) {
		if(menus[i].clear) {
			if(parseInt(menus[i].style.marginLeft) < 0 || !menus[i].isOpen) continue;
		menus[i].clear();
		menuclose(menus[i].id.split(/_/)[1]);
		}
	}
}

function cleartouts() {
	for(var i = 0; i < touts.length; i++) clearTimeout(touts[i]);
touts = [];
}

function clearmenu() {
	for(var i = 0; i < this.touts.length; i++) clearTimeout(this.touts[i]);
this.touts = [];
}

add_event(window, 'load', function() { makemenu('himenu'); });
