// ############################################################
// ################### MENU DEFINITION ########################
// ## g3MMMPG - g3DevMenuMarModPedroGaspar, v1.0, 2003 ##
// ############################################################

var iInitialTop = -40;
var CONST_LANG_PT = "1";
var CONST_LANG_EN = "2";


function g3MMMPG_moveQueueLine(){
	this.elements = new Array();
	this.moveNext = g3MMMPG_queueMoveNext;
	this.addElement = g3MMMPG_queueAddElement;
	this.onQueueEnd = g3MMMPG_finishQueue;
}


function g3MMMPG_Element(label_IN, link_IN, nivel_IN, groupMark_IN, parent_IN, child_IN, identifier_IN){
	//alert(child_IN);
	//alert(identifier_IN);
	this.identifier = identifier_IN;
	this.label = label_IN;
	this.imageLoPT = "resources/PT/bot_"+sType+"_" + label_IN + ".gif";
	this.imageHiPT = "resources/PT/bot_"+sType+"_" + label_IN + "_hi.gif";
	this.imageLoEN = "resources/EN/bot_"+sType+"_" + label_IN + ".gif";
	this.imageHiEN = "resources/EN/bot_"+sType+"_" + label_IN + "_hi.gif";
	IN_preloadImages(this.imageHiPT);
	IN_preloadImages(this.imageHiEN);
	this.link = link_IN;
	this.nivel = nivel_IN;
	this.grupo = groupMark_IN;
	this.parent = parent_IN;
	this.child = child_IN;
	this.selected = false;
	this.opened = false;
	this.visible = false;
}
// ################################################################################
// para definir uma designacao virtual ao link
// e usado também para construção dos url's das imagens
// ################################################################################
var const_lab_institucional		= "institucional";
var const_lab_marmod			= "sub_amarmod";
var const_lab_organograma		= "sub_organ";
var const_lab_nossosservicos		= "servicos";
var const_lab_servicos			= "sub_servicos";
var const_lab_cotacao			= "sub_cotacao";
var const_lab_principaisdestinos	= "destinos";
var const_lab_destinos			= "sub_destinos";
var const_lab_especificacoes		= "especificacoes";
var const_lab_incoterms			= "sub_incoterms";
var const_lab_tabelas			= "sub_tabelas";
var const_lab_carga			= "sub_carga";
var const_lab_certificado		= "certificado";
var const_lab_iso9001			= "sub_iso9001";
var const_lab_parcerias			= "sub_parcerias";
var const_lab_registo			= "registo"
// ################################################################################

// ################################################################################
// para definir a que grupo pertence o link
// ################################################################################
var const_grp_main			= "grp_main";
var const_grp_institucional		= "grp_institucional";
var const_grp_nossosservicos		= "grp_nossosdestinos";
var const_grp_principaisdestinos	= "grp_principaisdestinos";
var const_grp_especificacoes		= "grp_especificacoes";
var const_grp_certificado		= "grp_certificado";
var const_grp_registo		= "grp_registo";
// ################################################################################

// ################################################################################
// ID's Relacionados com o Link
// para definir arvore seleccionada
// ################################################################################
var const_id_institucional		= new Array('1'); // ESP
var const_id_marmod			= new Array('6');
var const_id_organograma		= new Array('7');
var const_id_nossosservicos		= new Array('2');
var const_id_servicos			= new Array('8');
var const_id_cotacao			= new Array('9');
var const_id_principaisdestinos		= new Array('3');
var const_id_destinos			= new Array('10');
var const_id_especificacoes		= new Array('4');
var const_id_incoterms			= new Array('11');
var const_id_tabelas			= new Array('12');
var const_id_carga			= new Array('13');
var const_id_certificado		= new Array('5');
var const_id_iso9001			= new Array('14');
var const_id_parcerias			= new Array('15');
var const_id_registo			= new Array('16');
// ################################################################################

var vMenuContent = new Array();
	vMenuContent[vMenuContent.length] = new g3MMMPG_Element(const_lab_institucional, "javascript:void(0);", 1, const_grp_main, 0, const_grp_institucional, const_id_institucional);
	vMenuContent[vMenuContent.length] = new g3MMMPG_Element(const_lab_marmod, "mar_institucional_00.asp?localid=1", 2, const_grp_institucional, const_lab_institucional, 0, const_id_marmod);
	vMenuContent[vMenuContent.length] = new g3MMMPG_Element(const_lab_organograma, "mar_organograma_00.asp?localid=2", 2, const_grp_institucional, const_lab_institucional, 0, const_id_organograma);
	
	vMenuContent[vMenuContent.length] = new g3MMMPG_Element(const_lab_nossosservicos, "javascript:void(0);", 1, const_grp_main, 0, const_grp_nossosservicos, const_id_nossosservicos);	
	vMenuContent[vMenuContent.length] = new g3MMMPG_Element(const_lab_servicos, "mar_servicos_00.asp?localid=3", 2, const_grp_nossosservicos, const_lab_nossosservicos, 0, const_id_servicos);
	vMenuContent[vMenuContent.length] = new g3MMMPG_Element(const_lab_cotacao, "mar_cotacao_00.asp", 2, const_grp_nossosservicos, const_lab_nossosservicos, 0, const_id_cotacao);
	
	vMenuContent[vMenuContent.length] = new g3MMMPG_Element(const_lab_principaisdestinos, "javascript:void(0);", 1, const_grp_main, 0, const_grp_principaisdestinos, const_id_principaisdestinos);
	vMenuContent[vMenuContent.length] = new g3MMMPG_Element(const_lab_destinos, "mar_destinos_00.asp?localid=4", 2, const_grp_principaisdestinos, const_lab_principaisdestinos, 0, const_id_destinos);
	
	vMenuContent[vMenuContent.length] = new g3MMMPG_Element(const_lab_especificacoes, "javascript:void(0);", 1, const_grp_main, 0, const_grp_especificacoes, const_id_especificacoes);	
	vMenuContent[vMenuContent.length] = new g3MMMPG_Element(const_lab_incoterms, "mar_incoterms_00.asp?localid=5", 2, const_grp_especificacoes, const_lab_especificacoes, 0, const_id_incoterms);
	vMenuContent[vMenuContent.length] = new g3MMMPG_Element(const_lab_tabelas, "mar_tabelaconv_00.asp?localid=6", 2, const_grp_especificacoes, const_lab_especificacoes, 0, const_id_tabelas);
	vMenuContent[vMenuContent.length] = new g3MMMPG_Element(const_lab_carga, "mar_carga_00.asp?localid=7", 2, const_grp_especificacoes, const_lab_especificacoes, 0, const_id_carga);
	
	vMenuContent[vMenuContent.length] = new g3MMMPG_Element(const_lab_certificado, "javascript:void(0);", 1, const_grp_main, 0, const_grp_certificado, const_id_certificado);
	vMenuContent[vMenuContent.length] = new g3MMMPG_Element(const_lab_iso9001, "mar_iso9001_00.asp?localid=8", 2, const_grp_certificado, const_lab_certificado, 0, const_id_iso9001);
	vMenuContent[vMenuContent.length] = new g3MMMPG_Element(const_lab_parcerias, "mar_parcerias_00.asp?localid=9", 2, const_grp_certificado, const_lab_certificado, 0, const_id_parcerias);
	
	vMenuContent[vMenuContent.length] = new g3MMMPG_Element(const_lab_registo, "mar_registo_00.asp", 1, const_grp_main, 0, 0, const_id_registo);

function g3MMMPG_defineSelectedFirstLevel(iID_IN){
	for(var i=0; i<vMenuContent.length; i++){
		if(vMenuContent[i].nivel==1){
			for(var j=0; j<vMenuContent[i].identifier.length; j++){
				if(vMenuContent[i].identifier[j] == String(iID_IN)){
					vMenuContent[i].selected = true;
					break;
				}
			}
		}
	}
}

function g3MMMPG_defineSelectedTree(iID_IN){
	lastItemOnSelectedTree = -1;
	for(var i=0; i<vMenuContent.length; i++){
		if(vMenuContent[i].nivel!=1){
			for(var j=0; j<vMenuContent[i].identifier.length; j++){
				if(vMenuContent[i].identifier[j] == String(iID_IN)){
					lastItemOnSelectedTree = i;
					break;
				}
			}
		}
	}
	if(lastItemOnSelectedTree!=-1){
		vMenuContent[lastItemOnSelectedTree].selected = true;
		g3MMMPG_defineSelectedTreeFromIndex(lastItemOnSelectedTree);
	}
}

function g3MMMPG_defineSelectedTreeFromIndex(iIndex_IN){
	var sGroup = vMenuContent[iIndex_IN].grupo;
	var iParent = g3MMMPG_getGroupMaster(sGroup);
	vMenuContent[iParent].selected = true;
	
	if(vMenuContent[iParent].nivel != 1){
		g3MMMPG_defineSelectedTreeFromIndex(iParent);
	}
}


// ---------------------------------------------->
//    Escrita de todas as layers no documento
// ---------------------------------------------->
function g3MMMPG_writeSubs(sIdioma_IN){
	//alert(sIdioma_IN);
	var nextTop = iInitialTop;
	var iNewTop;
	var iLeft;
	var sVisible;
	var sImageHi, sImageLo;
	for(var i=0;i<vMenuContent.length;i++){
		if(vMenuContent[i].nivel){
			if(sIdioma_IN==CONST_LANG_PT){
				sImageHi = vMenuContent[i].imageHiPT;
				sImageLo = vMenuContent[i].imageLoPT;
			}else{
				sImageHi = vMenuContent[i].imageHiEN;
				sImageLo = vMenuContent[i].imageLoEN;
			}
			if(vMenuContent[i].nivel==1){
				iNewTop = nextTop+40;
				nextTop = iNewTop;
				iLeft = 0;
				sVisible = "visible";
				vMenuContent[i].visible = true;
			}else{
				if(g3MMMPG_isSelectedOrBelongsToSelectedGroup(i)){
					vMenuContent[i].visible = true;
					iNewTop = nextTop+30;
					nextTop = iNewTop;
					sVisible = "visible";
				}else{
					iNewTop = 0;
					sVisible = "hidden";
				}
				if(vMenuContent[i].nivel==2){
					iLeft = 0;
				}else{
					iLeft = 0;
				}
			}
			document.write('<d\x69');
			document.writeln('v id="g3MMMPG'+vMenuContent[i].label+''+vMenuContent[i].nivel+''+i+'div" style="position:absolute;top:'+iNewTop+';left:'+iLeft+';z-index:'+i+';visibility:'+sVisible+';">');
			
			document.writeln('<MAP NAME="g3MMMPG'+vMenuContent[i].label+''+vMenuContent[i].nivel+''+i+'map">');
			if(vMenuContent[i].nivel==3){
				document.writeln('<AREA SHAPE="rect" ALT="" COORDS="0,0,250,50" onMouseOver="IN_setImageSource2(\'g3MMMPG'+vMenuContent[i].label+''+vMenuContent[i].nivel+''+i+'img\',\''+sImageHi+'\');" onMouseOut="IN_setImageSourceOriginal(\'g3MMMPG'+vMenuContent[i].label+''+vMenuContent[i].nivel+''+i+'img\');" HREF="'+vMenuContent[i].link+'">');
				// FECHADO
			}else if(vMenuContent[i].nivel==2){
				if(String(vMenuContent[i].child)!="0"){
					if(!vMenuContent[i].selected){
						document.writeln('<AREA SHAPE="rect" ALT="" COORDS="0,0,250,50" onClick="g3MMMPG_closeGroup('+i+');" onMouseOver="g3MMMPG_setGroup(\''+vMenuContent[i].child+'\');IN_setImageSource2(\'g3MMMPG'+vMenuContent[i].label+''+vMenuContent[i].nivel+''+i+'img\',\''+sImageHi+'\');" onMouseOut="IN_setImageSourceOriginal(\'g3MMMPG'+vMenuContent[i].label+''+vMenuContent[i].nivel+''+i+'img\');" HREF="'+vMenuContent[i].link+'">');
					}else{
						document.writeln('<AREA SHAPE="rect" ALT="" COORDS="0,0,250,50" onMouseOver="g3MMMPG_setGroup(\''+vMenuContent[i].child+'\');IN_setImageSource2(\'g3MMMPG'+vMenuContent[i].label+''+vMenuContent[i].nivel+''+i+'img\',\''+sImageHi+'\');" onMouseOut="IN_setImageSourceOriginal(\'g3MMMPG'+vMenuContent[i].label+''+vMenuContent[i].nivel+''+i+'img\');" HREF="'+vMenuContent[i].link+'">');
					}
				}else{
					document.writeln('<AREA SHAPE="rect" ALT="" COORDS="0,0,250,50" onMouseOver="IN_setImageSource2(\'g3MMMPG'+vMenuContent[i].label+''+vMenuContent[i].nivel+''+i+'img\',\''+sImageHi+'\');" onMouseOut="IN_setImageSourceOriginal(\'g3MMMPG'+vMenuContent[i].label+''+vMenuContent[i].nivel+''+i+'img\');" HREF="'+vMenuContent[i].link+'">');
				}
			}else{
				if(!vMenuContent[i].selected){
					document.writeln('<AREA SHAPE="rect" ALT="" COORDS="0,0,250,50" onClick="g3MMMPG_closeGroup('+i+');" onMouseOver="g3MMMPG_setGroup(\''+vMenuContent[i].child+'\');IN_setImageSource2(\'g3MMMPG'+vMenuContent[i].label+''+vMenuContent[i].nivel+''+i+'img\',\''+sImageHi+'\');" onMouseOut="IN_setImageSourceOriginal(\'g3MMMPG'+vMenuContent[i].label+''+vMenuContent[i].nivel+''+i+'img\');" HREF="'+vMenuContent[i].link+'">');
				}else{
					document.writeln('<AREA SHAPE="rect" ALT="" COORDS="0,0,250,50" onMouseOver="g3MMMPG_setGroup(\''+vMenuContent[i].child+'\');IN_setImageSource2(\'g3MMMPG'+vMenuContent[i].label+''+vMenuContent[i].nivel+''+i+'img\',\''+sImageHi+'\');" onMouseOut="IN_setImageSourceOriginal(\'g3MMMPG'+vMenuContent[i].label+''+vMenuContent[i].nivel+''+i+'img\');" HREF="'+vMenuContent[i].link+'">');
				}
			}
			document.writeln('</MAP>');
			
				if(vMenuContent[i].selected){
					vMenuContent[i].opened = true;
					document.writeln('<img src="'+sImageHi+'" border=0 name="g3MMMPG'+vMenuContent[i].label+''+vMenuContent[i].nivel+''+i+'img" USEMAP="#g3MMMPG'+vMenuContent[i].label+''+vMenuContent[i].nivel+''+i+'map">');
				}else{
					document.writeln('<img src="'+sImageLo+'" border=0 name="g3MMMPG'+vMenuContent[i].label+''+vMenuContent[i].nivel+''+i+'img" USEMAP="#g3MMMPG'+vMenuContent[i].label+''+vMenuContent[i].nivel+''+i+'map">');
				}
			
			document.writeln('</div>');
			if(NS){
				document.writeln('</div>');
			}
		//	var oLayer=IN_getLayer("subMenu"+i);
		//	iNewBottom=(NS)?oLayer.clip.height:oLayer.offsetHeight;
		//	iNewBottom=iNewBottom+iNewTop;
		}
	}
}

function g3MMMPG_getSelectedGroups(){
	var vSelectedGroups = new Array();
	for(var j=0; j<vMenuContent.length; j++){
		if(vMenuContent[j].child!="0"&&vMenuContent[j].selected&&vMenuContent[j].child!=vSelectedGroups[vSelectedGroups.length-1]){
			vSelectedGroups[vSelectedGroups.length] = vMenuContent[j].child;
		}
	}
	return vSelectedGroups;
	
}

function g3MMMPG_isSelectedOrBelongsToSelectedGroup(iIndex_IN){
	var vSelectedGroups = g3MMMPG_getSelectedGroups();
	for(var j=0; j<vSelectedGroups.length; j++){
		if(vMenuContent[iIndex_IN].grupo==vSelectedGroups[j]||vMenuContent[iIndex_IN].selected){
			return true;
			break;
		}
	}
}

function g3MMMPG_getGroupMaster(sGroup_IN){
	for(var i=0;i<vMenuContent.length;i++){
		if(vMenuContent[i].child == sGroup_IN){
			return i;
			break;
		}
	}
}

function g3MMMPG_getGroupSuperMaster(sGroup_IN){
	var iResult;
	for(var i=0;i<vMenuContent.length;i++){
		if(vMenuContent[i].child == sGroup_IN){
			if(vMenuContent[i].nivel==1){
				iResult = i;
			}else{
				iResult = g3MMMPG_getGroupSuperMaster(vMenuContent[i].grupo);
			}
			break;
		}
	}
	return iResult;
}

function g3MMMPG_getOpenedGroup(nivelToOpen){
	var iOpenedLevel;
	for(var i=vMenuContent.length-1;i>-1;i--){
		if(vMenuContent[i].opened){
			iOpenedLevel = vMenuContent[i].nivel;
			if(!vMenuContent[i].selected){
				return vMenuContent[i].child;
			}
		}
	}
}

function g3MMMPG_isChildOfOpened(sOpenedGroup_IN, iMaster_IN){
	if(sOpenedGroup_IN==vMenuContent[iMaster_IN].grupo){
		return true;
	}
}

function g3MMMPG_isParentOfOpened(sOpenedGroup_IN, sGroup_IN){
	if(vMenuContent[g3MMMPG_getGroupMaster(sOpenedGroup_IN)].grupo==sGroup_IN){
		return true;
	}
}

var bProcessing = false;
var nextGroupToAct = "";
function g3MMMPG_setGroup(sGroup_IN, checker){
	if(!bProcessing){
		oMasterObjIndex = g3MMMPG_getGroupMaster(sGroup_IN);
		sOpenedGroup = g3MMMPG_getOpenedGroup(vMenuContent[oMasterObjIndex].nivel, sGroup_IN);
		if(!checker){			
			if((!g3MMMPG_isSelectedOrBelongsToSelectedGroup(oMasterObjIndex)||!vMenuContent[oMasterObjIndex].selected)&&sOpenedGroup!=sGroup_IN&&sOpenedGroup&&!g3MMMPG_isChildOfOpened(sOpenedGroup, oMasterObjIndex)){
				if(!g3MMMPG_isParentOfOpened(sOpenedGroup, sGroup_IN)){
					nextGroupToAct = sGroup_IN;
				}else{
					nextGroupToAct = "";
				}
				var oAuxMasterObjIndex = g3MMMPG_getGroupSuperMaster(sOpenedGroup);
				if(vMenuContent[oAuxMasterObjIndex].selected){
					var oAuxMasterObjIndex = g3MMMPG_getGroupMaster(sOpenedGroup);
					if(!vMenuContent[oAuxMasterObjIndex].selected){
						g3MMMPG_closeGroup(oAuxMasterObjIndex);
					}
				}else if(!g3MMMPG_isParentOfOpened(sOpenedGroup, sGroup_IN)){
					g3MMMPG_closeGroup(oAuxMasterObjIndex);
				}else if(g3MMMPG_isParentOfOpened(sOpenedGroup, sGroup_IN)){
					var oAuxMasterObjIndex = g3MMMPG_getGroupMaster(sOpenedGroup);
					g3MMMPG_closeGroup(oAuxMasterObjIndex);
				}
			}else if((!g3MMMPG_isSelectedOrBelongsToSelectedGroup(oMasterObjIndex)||!vMenuContent[oMasterObjIndex].selected)&&sOpenedGroup!=sGroup_IN){
				g3MMMPG_openGroup(oMasterObjIndex);
			}
		}else if((!g3MMMPG_isSelectedOrBelongsToSelectedGroup(oMasterObjIndex)||!vMenuContent[oMasterObjIndex].selected)&&sOpenedGroup!=sGroup_IN){
			g3MMMPG_openGroup(oMasterObjIndex);
		}
	}
}

function g3MMMPG_getLastVisible(){
	var iResult;
	for(var i=0; i<vMenuContent.length; i++){
		if(vMenuContent[i].visible){
			iResult = i;
		}
	}
	return iResult;
}

var closeProcessTimeout;
function g3MMMPG_closeGroup(iGroupMaster_IN){
	if(!bProcessing||g3MMMPG_closeGroup.arguments.length>1){
		var bUnflag = true;
		bProcessing = true;
		var fAuxOnEnd = 0;
		var iNumNextElements = 0;
		var iExtraTop = 0;
		
		vMenuContent[iGroupMaster_IN].opened = false;
		var sMasterLabel = vMenuContent[iGroupMaster_IN].label;
		var oMasterLayer = IN_getLayer('g3MMMPG'+vMenuContent[iGroupMaster_IN].label+''+vMenuContent[iGroupMaster_IN].nivel+''+iGroupMaster_IN+'div');
		var iMasterTop = (NS)?oMasterLayer.top:(NS6)?parseInt(oMasterLayer.style.top):oMasterLayer.style.pixelTop;
		
		//IN_setImageSourceOriginal('g3MMMPG'+vMenuContent[iGroupMaster_IN].label+''+vMenuContent[iGroupMaster_IN].nivel+''+iGroupMaster_IN+'img');
		
		if(sMasterLabel!=""){
			var iLastVisible = g3MMMPG_getLastVisible();
			for(var i=iGroupMaster_IN+1;i<vMenuContent.length;i++){
				if(vMenuContent[i].parent == sMasterLabel){
					vMenuContent[i].visible = false;
					if(String(vMenuContent[i].child)!="0"&&vMenuContent[i].opened){
						g3MMMPG_closeGroup(i,0,1); // i = indexDoParente, 0=nao fazer nada no final de fechar, 1=parametro para nao processar uma parte da função
					}
					if(i==iLastVisible){
						fAuxOnEnd = 1;
					}
					g3MMMPG_moveBy('g3MMMPG'+vMenuContent[i].label+''+vMenuContent[i].nivel+''+i+'div', iMasterTop+17, 1, 'hidden', fAuxOnEnd, 1);
					fAuxOnEnd = 0;
				}else if(g3MMMPG_closeGroup.arguments.length==1){
					if(vMenuContent[i].visible){
						iNumNextElements++;
						if(vMenuContent[i].nivel==1){
							bUnflag = true;
							iExtraTop+=20;
						}
						if(i==iLastVisible){
							fAuxOnEnd = 1;
						}
						g3MMMPG_moveBy('g3MMMPG'+vMenuContent[i].label+''+vMenuContent[i].nivel+''+i+'div', iMasterTop+(17*iNumNextElements)+iExtraTop, 1, 'visible', fAuxOnEnd, 1);
						fAuxOnEnd = 0;
					}
				}
			}
			if(g3MMMPG_closeGroup.arguments.length==2){
				closeProcessTimeout = setTimeout("g3MMMPG_closeProcess("+fOnEnd+")",2000);
			}
		}
	}
}

function g3MMMPG_closeProcess(fOnEnd_IN, iType){
	clearTimeout(closeProcessTimeout);
	bProcessing = false;
	if(fOnEnd_IN&&iType==1&&nextGroupToAct!=""){
		fOnEnd_IN(nextGroupToAct,1);
	}
	nextGroupToAct = "";
}

function g3MMMPG_openGroup(iGroupMaster_IN){
	if(!bProcessing){
		var bUnflag = true;
		bProcessing = true;
		var fAuxOnEnd = 0;
		var iNumChilds = 0;
		var iNumNextElements = 0;
		var iExtraTop = 0;
		
		iMasterTemp = iGroupMaster_IN;
		vMenuContent[iGroupMaster_IN].opened = true;
		var sMasterLabel = vMenuContent[iGroupMaster_IN].label;
		var oMasterLayer = IN_getLayer('g3MMMPG'+vMenuContent[iGroupMaster_IN].label+''+vMenuContent[iGroupMaster_IN].nivel+''+iGroupMaster_IN+'div');
		var iMasterTop = (NS)?oMasterLayer.top:(NS6)?parseInt(oMasterLayer.style.top):oMasterLayer.style.pixelTop;
		
		//IN_setImageSource('g3MMMPG'+vMenuContent[iGroupMaster_IN].label+''+vMenuContent[iGroupMaster_IN].nivel+''+iGroupMaster_IN+'img',vMenuContent[iGroupMaster_IN].imageHi);
		
		if(sMasterLabel!=""){
			var iLastVisible = g3MMMPG_getLastVisible();
			for(var i=iGroupMaster_IN+1;i<vMenuContent.length;i++){
				if(vMenuContent[i].parent == sMasterLabel){
					iNumChilds++;
					var oLayerNN = IN_getLayer('g3MMMPG'+vMenuContent[i].label+''+vMenuContent[i].nivel+''+i+'div');
					if(NS){oLayerNN.top = iMasterTop+10;}else{if(NS6){oLayerNN.style.top = iMasterTop+10;}else{oLayerNN.style.pixelTop = iMasterTop+10;}}
					vMenuContent[i].visible = true;
					g3MMMPG_setVisibility('g3MMMPG'+vMenuContent[i].label+''+vMenuContent[i].nivel+''+i+'div','visible');
					if(i==vMenuContent.length-1){
						fAuxOnEnd = 2;
					}
					if(bUnflag&&vMenuContent[i].nivel==2){
						iExtraTop+=18;
						bUnflag = false;
					}
					g3MMMPG_moveBy('g3MMMPG'+vMenuContent[i].label+''+vMenuContent[i].nivel+''+i+'div', (iMasterTop+(18*iNumChilds))+iExtraTop, 1, 'visible', fAuxOnEnd, 1);
					fAuxOnEnd = 0;
				}else{
					if(vMenuContent[i].visible){
						iNumNextElements++;
						if(vMenuContent[i].nivel==1){
							bUnflag = true;
							iExtraTop+=19;
						}
						if(i==iLastVisible){
							fAuxOnEnd = 2;
						}
						g3MMMPG_moveBy('g3MMMPG'+vMenuContent[i].label+''+vMenuContent[i].nivel+''+i+'div', iMasterTop+(18*(iNumNextElements+iNumChilds))+iExtraTop, 1, 'visible', fAuxOnEnd, 1);
						fAuxOnEnd = 0;
					}
				}
			}
		}
	}
}




// ---------------------------------------------- //
// ----- Funções de Movimento ------------------- //
// ---------------------------------------------- //
// esta função só move na horizontal
// [oLayer] - ID da layer a ser movida
// [iTo] - Coordenada Final
// [iSpeed] - Velocidade do contador,
//			  quanto menor mais rápido
// [iPixel] - quantos pixeis cada vez que
//			  corre a função em conjunto com
//			  o iSpeed define a velocidade do
//			  movimento
// [checker] - é necessária a sua referencia
//			   no principio para funcionamento
//			   da função
// ---------------------------------------------- //
var i9aMoveTimeouts = new Array();
var iSpeed = 5;
var iPixel = 10;
function g3MMMPG_moveBy(oLayer, iTo, iTimeoutID, sFinalVisibility_IN, fOnEnd, checker) { //v1.0
	iPixel = Math.abs(iPixel);
	iArgs=g3MMMPG_moveBy.arguments.length;
	if(iArgs>=6){
		var iTimeoutID = i9aMoveTimeouts.length;
		i9aMoveTimeouts[iTimeoutID] = null;
	}
	nLayer=IN_getLayer(oLayer);
	clearTimeout(i9aMoveTimeouts[iTimeoutID]);
	strDir="down";
	topAux=(NS)?nLayer.top:(NS6)?parseInt(nLayer.style.top):nLayer.style.pixelTop;
	if(topAux>iTo){iPixel=-iPixel;strDir="up";}
	with(nLayer) {
		iTop=(NS)?top:(NS6)?parseInt(style.top):style.pixelTop;
		if(((strDir=='down') && ((parseInt(iTop)+iPixel)<iTo)) || ((strDir=='up') && ((parseInt(iTop)+iPixel)>iTo))){
			if(NS){top=iTop+iPixel;}else{if(NS6){style.top=iTop+iPixel;}else{style.pixelTop=iTop+iPixel;}}
			i9aMoveTimeouts[iTimeoutID]=setTimeout("g3MMMPG_moveBy('"+oLayer+"',"+iTo+","+iTimeoutID+",'"+sFinalVisibility_IN+"',"+fOnEnd+")",iSpeed);
		}else{
			if(NS){top=iTo;}else{if(NS6){style.top=iTo;}else{style.pixelTop=iTo;}}
			g3MMMPG_stopMover(iTimeoutID, oLayer, sFinalVisibility_IN, fOnEnd);
		}
	}
}
function g3MMMPG_stopMover(iTimeoutID, oLayer_IN, sFinalVisibility_IN, fOnEnd) { //v1.0
	if(fOnEnd==1||fOnEnd==2){
		g3MMMPG_closeProcess(g3MMMPG_setGroup, fOnEnd);
	}
	g3MMMPG_setVisibility(oLayer_IN, sFinalVisibility_IN);
	clearTimeout(i9aMoveTimeouts[iTimeoutID]);
}

// ---------------------------------------------- //
// - Função de controlo de visibilidade --------- //
// ------ de uma layer -------------------------- //
// ---------------------------------------------- //
// [oLayer] - ID da layer a ser alterada
// [strStatus] - visible,hidden
// ---------------------------------------------- //
function g3MMMPG_setVisibility(oLayer_IN,strStatus) { //v1.0
	oLayer=IN_getLayer(oLayer_IN);if(NS){oLayer.visibility=strStatus;}else{oLayer.style.visibility=strStatus;}
}

// ---------------------------------------------->
// ---------------------------------------------->
// ---------------------------------------------->


function g3MMMPG_setSuperContentPosition(){	
	var tableWidth=690;
	var docWidth=(NS)?window.innerWidth:document.body.offsetWidth-4;
	var oLayerLeft=(NS)?((docWidth-tableWidth)/2)+0:(NS6)?((docWidth-tableWidth)/2)+0:((docWidth-tableWidth)/2)+1;	
	IN_setPositionLayer('i9aMenuContent',oLayerLeft,146,false);
	IN_setVisibility('i9aMenuContent','visible');
	window.status = '';
}