// JavaScript Document

function controlMenuTabs(menuId, elementToReady, defaultElement){
	var pageTab;
	var menuChildrens = document.getElementById(menuId).getElementsByTagName(elementToReady);
	if(defaultElement == null) defaultElement = 0;
	if(defaultElement >= menuChildrens.length) defaultElement = menuChildrens.length-1;
	resetMenuTabs(menuChildrens[0]);
	for(var i=0;i<menuChildrens.length;i++){
		if(i==defaultElement){
			pageTab=i;
			selectMenuTab(menuChildrens[i]);
			if(menuChildrens[i].getAttribute('rel')){
				showSubmenu(menuChildrens[i]);
			}
		}	
	}
/*	for(var i=0;i<menuChildrens.length;i++){
		if(menuChildrens[i].getAttribute('rel')){
			convertToObject(menuChildrens[i].getAttribute('rel')).setAttribute('pageTab',pageTab);
			setBehaviour(convertToObject(menuChildrens[i].getAttribute('rel')),'onmouseout','restorePageTab')
		}
	}*/
}

function executeAssociatedAction(tabObject){
	var tabNumber = getTabNumber(tabObject);
	var menuId = getParentNode(tabObject,'UL').id;
	var AssociatedActionPointer = menuId+'AssociatedActions';
	eval(AssociatedActionPointer)[tabNumber]();
}

function getTabNumber(tabObject){
	var tabNumber;
	var tabMenu = getParentNode(tabObject,'UL');
	var tabMenu_Tabs = tabMenu.getElementsByTagName('LI');
	for(var i=0;i<tabMenu_Tabs.length;i++){
		if(tabMenu_Tabs[i]==tabObject) tabNumber = i;
	}
	return String(tabNumber);	
}

function getParentNode(node, parentType){
	var parentNodeElement = node;
	do{parentNodeElement=parentNodeElement.parentNode}while(parentNodeElement.nodeName!=parentType)
	return parentNodeElement;
}



function handleMOutEvent(event){
	var evento = event || window.event;
	var destino = evento.relatedTarget||evento.toElement;
//		logger('this: '+this.getAttribute('id'));
//		logger('Out: '+destino.getAttribute('id'));
	
	if(destino.getAttribute('id')){
//		logger('destino.id: '+destino.getAttribute('id'));
		if(destino.getAttribute('id')=='languajes'||destino.getAttribute('id')=='header'||destino.getAttribute('id')=='register'){
			restorePageTab(this);
		}
	}
}
function handleMOverEvent(event){
	var evento = event || window.event;
	var destino = evento.target || evento.srcElement;
	
	if(destino.parentNode.getAttribute('rel')){
		convertToObject('subMenu').style.height = '28px'
		resetMenuTabs(destino.parentNode);
		selectMenuTab(destino.parentNode);
		hideSubmenues();
		showObject(convertToObject(destino.parentNode.getAttribute('rel')));
	}else{
//		logger('Over: '+destino);
		try{
			var menu = getParentNode(destino.parentNode, 'UL');
		}catch(err){}
		
		if(!menu)	return;
		if (menu.getAttribute('id')=='tabMenu'){
			resetMenuTabs(destino.parentNode);
			selectMenuTab(destino.parentNode);
			convertToObject('subMenu').style.height = '5px'
		}

	}	
}

function hideSubmenues(){
	var subMenues = ['associationMenu','alphaMenu','professionalsMenu','comunityMenu','colaborationMenu','registerMenu','newsMenu'];
	hideObject(subMenues);
}

function showSubmenu(liObject)
{
	if (liObject.getAttribute('rel')){
		document.getElementById('subMenu').style.display = 'block';
		document.getElementById(liObject.getAttribute('rel')).style.display = 'block';
	}
}

function readyMenu(menuId, activeTab){
	var menu = document.getElementById(menuId)
	menu.setAttribute('pageTab',activeTab)
	setBehaviour(menu,'onmouseover','handleMOverEvent')
	setBehaviour(menu,'onmouseout','handleMOutEvent')
}

function readyMenuTabs(menuId, elementToReady){
	var menuChildrens = document.getElementById(menuId).getElementsByTagName(elementToReady);
	for(var i=0;i<menuChildrens.length;i++){
		setBehaviour(menuChildrens[i],'onmouseover','handleMenuOverEvent')
		setBehaviour(menuChildrens[i],'onmouseout','handleMenuOutEvent')
	}
}


function resetMenuTabs(tab){
	var tabUL =  getParentNode(tab,'UL');
	var tabULChildrens;
	tabULChildrens = document.getElementById(tabUL.id).getElementsByTagName('LI');
	for(var i=0;i<tabULChildrens.length;i++){
		tabULChildrens[i].className = '';
	}	
}

function restorePageTab(menu){
	var pageTab = menu.getAttribute('pageTab');
	if (pageTab!=0&&pageTab!=8){
		convertToObject('subMenu').style.height = '28px'	;
	}else{
		convertToObject('subMenu').style.height = '5px';		
	}
	var menuChildrens = convertToObject('tabMenu').getElementsByTagName('LI')
	resetMenuTabs(menuChildrens[0]);
	for(var i=0;i<menuChildrens.length;i++){
		if(i==pageTab){
			selectMenuTab(menuChildrens[i]);
			hideSubmenues()
			showSubmenu(menuChildrens[i])
			break
		}
	}
}

function selectMenuTab(tab){
	if(tab.nodeName=='A'){
		var tabLI = getParentNode(tab,'LI');
	}else if(tab.nodeName=='LI'){
		var tabLI = tab;
	}
	tabLI.className += ' selected';
}