
    var FONT_ROOT_CLASS = new Array;
    var LINK_ROOT_CLASS = new Array;

	var ROOT_TOP_FIX = new Array;
	var ROOT_LEFT_FIX = new Array;

	var CELULA_TAMANHO = new Array;
	var CELULA_ALTURA = new Array;
	var CELULA_DISTANCIA = new Array;
	var CELULA_FUNDO = new Array;
	var CELULA_FUNDO_2 = new Array;
	var CELULA_FUNDO_BORDA = new Array;

    var FONT_CLASS = new Array;
    var LINK_CLASS = new Array;

    var CONTEUDO_PRINCIPAL = new Array;
    var CONTEUDO_SUB = new Array;
    var CONTEUDO_PRINCIPAL_INICIO = new Array;
    var CONTEUDO_PRINCIPAL_FINAL = new Array;
    var CONTEUDO_SUB_INICIO = new Array;
    var CONTEUDO_SUB_FINAL = new Array;

	var mInd = new Array;

	var vDiv = new Array;

	var divHtml = new Array;
	var jscHtml = new Array;

	var p = new Array;
	var pai = new Array;
	var nome = new Array;
	var link = new Array;
	var target = new Array;
	var qtd = new Array;
	var mtop = new Array;
	var IDS = new Array;
	var mleft = new Array;
	var item = new Array;
	var nivel = new Array;
	var indice = new Array;//0;
	
	var totalNivel = new Array;//1;
	var onMenu = new Array;//0;
	
	var fatorMenuHorizontal;
	var fatorMenuVertical;

function reposicionaMenu() {
	if (FATOR_HORIZONTAL >= 0) {
		if(document.body.clientWidth < 770){
			cliente = 770;
		} else{
			cliente = document.body.clientWidth;
		}
		fatorMenuHorizontal = (cliente / 2) - FATOR_HORIZONTAL;
		if (fatorMenuHorizontal < (FATOR_ALINHAMENTO_HORIZONTAL * -1)) {
			fatorMenuHorizontal = (FATOR_ALINHAMENTO_HORIZONTAL * -1);
		}
	} else {
		alert('ok');
		fatorMenuHorizontal = 1;
	}
	if (FATOR_VERTICAL != null) {
		fatorMenuVertical = (document.body.clientHeight / 2) - FATOR_VERTICAL;
		if (fatorMenuVertical < (FATOR_ALINHAMENTO_VERTICAL * -1)) {
			fatorMenuVertical = (FATOR_ALINHAMENTO_VERTICAL * -1);
		}
	} else {
		fatorMenuVertical = 0;
	}
	if (FATOR_VERTICAL_FIXO != null) {
		fatorMenuVertical = FATOR_VERTICAL_FIXO;
	}
}
function fatorHorizontal() {
	return(fatorMenuHorizontal);
}
function fatorVertical() {
	return(fatorMenuVertical);
}

function createMenu(nameAux) {
	reposicionaMenu();
	indTmp = mInd.length;
	mInd[indTmp] = nameAux;

	vDiv[indTmp] = new Array;

	p[indTmp] = new Array;
	pai[indTmp] = new Array;
	nome[indTmp] = new Array;
	link[indTmp] = new Array;
	target[indTmp] = new Array;
	qtd[indTmp] = new Array;
	mtop[indTmp] = new Array;
	IDS[indTmp] = new Array;
	mleft[indTmp] = new Array;
	item[indTmp] = new Array;
	nivel[indTmp] = new Array;

	indice[indTmp] = 0;
	
	totalNivel[indTmp] = 1;
	onMenu[indTmp] = 0;

	return(indTmp);
}

function defineMenu(indAux,paiAux,nomeAux,linkAux,targetAux,pos1Aux,pos2Aux) {

	indice[indAux]++;
	pai[indAux][indice[indAux]] = paiAux;
	nome[indAux][indice[indAux]] = nomeAux;
	link[indAux][indice[indAux]] = linkAux;
	target[indAux][indice[indAux]] = targetAux;
	IDS[indAux][indice[indAux]] = pos2Aux;
	
	qtdTmp = 1;
	for (i=0;i<indice[indAux];i++) {
		if (pai[indAux][i] == paiAux) {
			qtdTmp++;
		}
	}
	qtd[indAux][indice[indAux]] = qtdTmp;
	item[indAux][indice[indAux]] = indice[indAux];
	if (paiAux == 0) {
		nivel[indAux][indice[indAux]] = 1;
	} else {
		nivel[indAux][indice[indAux]] = nivel[indAux][pai[indAux][indice[indAux]]] + 1;
		if (nivel[indAux][indice[indAux]] > totalNivel[indAux]) {
			totalNivel[indAux] = nivel[indAux][indice[indAux]];
		}
	}

	indiceRet = indice[indAux];
	if (ROOT_TOP_FIX[indAux] >= 0) {
		if (pai[indAux][indice[indAux]] == 0) {
			mtop[indAux][indice[indAux]] = ROOT_TOP_FIX[indAux];
			mleft[indAux][indice[indAux]] = pos1Aux;
		} else {
			mtop[indAux][indice[indAux]] = mtop[indAux][pai[indAux][indice[indAux]]] + (qtd[indAux][indice[indAux]] * (CELULA_ALTURA[indAux] + CELULA_DISTANCIA[indAux])) - 18;
			mleft[indAux][indice[indAux]] = mleft[indAux][pai[indAux][indice[indAux]]] + (CELULA_TAMANHO[indAux] - 4);
		}
	} else if (ROOT_LEFT_FIX[indAux] >= 0) {
		if (pai[indAux][indice[indAux]] == 0) {
			mtop[indAux][indice[indAux]] = pos1Aux;
			mleft[indAux][indice[indAux]] = ROOT_LEFT_FIX[indAux];
		} else {
			mtop[indAux][indice[indAux]] = mtop[indAux][pai[indAux][indice[indAux]]] + (qtd[indAux][indice[indAux]] * (CELULA_ALTURA[indAux] + CELULA_DISTANCIA[indAux])) - 18;
			mleft[indAux][indice[indAux]] = mleft[indAux][pai[indAux][indice[indAux]]] + (CELULA_TAMANHO[indAux] - 4);
		}
	} else {
		if (pai[indAux][indice[indAux]] == 0) {
			mtop[indAux][indice[indAux]] = pos2Aux;
			mleft[indAux][indice[indAux]] = pos1Aux;
		} else {
			mtop[indAux][indice[indAux]] = mtop[indAux][pai[indAux][indice[indAux]]] + (qtd[indAux][indice[indAux]] * (CELULA_ALTURA[indAux] + CELULA_DISTANCIA[indAux])) - 18;
			mleft[indAux][indice[indAux]] = mleft[indAux][pai[indAux][indice[indAux]]] + (CELULA_TAMANHO[indAux] - 4);
		}
	}
	return(indice[indAux]);
}

function exibeConteudoMenu(indAux,indiceAux) {
	if (pai[indAux][indiceAux] > 0) {
		// Exibe menu normal
		exibeHtml = formataPadrao(nome[indAux][indiceAux]);
	} else {
		// Exibe menu princinpal
		exibeHtml = formataRoot(nome[indAux][indiceAux]);
	}
	exibeHtml = formataCelula(indAux,exibeHtml,indiceAux);
	return(exibeHtml);
}

function exibeConteudoInicio(indAux,eciNivelAux) {
	if (eciNivelAux > 0) {
		// Exibe menu normal
		if (CONTEUDO_SUB_INICIO[indAux].length > 0) {
			tw = CONTEUDO_SUB_INICIO[indAux];
		} else {
			tw = CONTEUDO_SUB_INICIO[indAux];
			tw = tw.replace("<TBG>",CELULA_FUNDO_BORDA[indAux]);
			tw = tw.replace("<TDDIST>",CELULA_DISTANCIA[indAux]);
			tw = tw.replace("<TDTAMANHO>",CELULA_TAMANHO[indAux]);
			//tw = "<TABLE BGCOLOR=\"<TBG>\" CELLSPACING=<TDDIST> CELLPADDING=0 WIDTH=\"<TDTAMANHO>\">";
			tw = "<TABLE STYLE=\"filter:alpha(opacity=90);\" BGCOLOR=\""+CELULA_FUNDO_BORDA[indAux]+"\" CELLSPACING="+CELULA_DISTANCIA[indAux]+" CELLPADDING=0 WIDTH=\""+CELULA_TAMANHO[indAux]+"\">";
		}
	} else {
		// Exibe menu princinpal
		if (CONTEUDO_PRINCIPAL_INICIO[indAux].length > 0) {
			tw = CONTEUDO_PRINCIPAL_INICIO[indAux];
		} else {
			tw = "<TABLE CELLSPACING=0 CELLPADDING=0><TR>";
		}
	}
	return(tw);
}

function exibeConteudoFinal(indAux,ecfNivelAux) {
	if (ecfNivelAux > 0) {
		// Exibe menu normal
		if (CONTEUDO_SUB_FINAL[indAux].length > 0) {
			tw = CONTEUDO_SUB_FINAL[indAux];
		} else {
			tw = "</TABLE>";
		}
	} else {
		// Exibe menu princinpal
		if (CONTEUDO_PRINCIPAL_FINAL[indAux].length > 0) {
			tw = CONTEUDO_PRINCIPAL_FINAL[indAux];
		} else {
			tw = "</TR></TABLE>";
		}
	}
	return(tw);
}

function formataRoot(nomeAux) {
	frConteudo = nomeAux;
	return(frConteudo);
}

function formataPadrao(nomeAux) {
	fpConteudo = nomeAux;
	return(fpConteudo);
}

function formataCelula(indAux,fcConteudoAux,fcIndiceAux) {
	fcParam = " OnMouseOver=\"mouse_over("+indAux+",'"+fcIndiceAux+"');td_mouse_over("+indAux+",'"+fcIndiceAux+"',this)\" ";
	fcParam += " OnMouseOut=\"mouse_out("+indAux+",'"+fcIndiceAux+"');td_mouse_out("+indAux+",'"+fcIndiceAux+"',this)\" ";
	if (! verificaFilho(indiceCount)) {
		fcParam2 = " OnMouseOver=\"mouse_out("+indAux+","+nivel[indAux][fcIndiceAux]+",1);td_mouse_out("+indAux+",'"+fcIndiceAux+"',this)\"";
	} else {
		fcParam2 = "";
	}
	//fcConteudoAux += " ("+mtop[fcIndiceAux]+"/"+mleft[fcIndiceAux]+")";
	if (link[indAux][fcIndiceAux].length > 0) {
		if (pai[indAux][fcIndiceAux] == 0) {
			fcConteudoAux = "<A HREF=\""+link[indAux][fcIndiceAux]+"\" TARGET=\""+target[indAux][fcIndiceAux]+"\" CLASS=\""+LINK_ROOT_CLASS[indAux]+"\">"+fcConteudoAux+"</A>";
		} else {
			fcConteudoAux = "<A HREF=\""+link[indAux][fcIndiceAux]+"\" TARGET=\""+target[indAux][fcIndiceAux]+"\" CLASS=\""+LINK_CLASS[indAux]+"\">"+fcConteudoAux+"</A>";
		}
		tdParam = "STYLE=\"cursor: hand;\" OnClick=\"location.href='"+link[indAux][fcIndiceAux]+"'\"";
	} else {
		tdParam = "STYLE=\"cursor: default;\"";
	}
	
	if (pai[indAux][fcIndiceAux] > 0) {
		// Exibe menu normal
		if (CONTEUDO_SUB[indAux].length > 0) {
			fcConteudo = CONTEUDO_SUB[indAux];
			fcConteudo = fcConteudo.replace("<TRPARAM>",fcParam2);
			fcConteudo = fcConteudo.replace("<TDPARAM>",tdParam);
			fcConteudo = fcConteudo.replace("<TDBG>",CELULA_FUNDO[indAux]);
			fcConteudo = fcConteudo.replace("<TDTAMANHO>",CELULA_TAMANHO[indAux]);
			fcConteudo = fcConteudo.replace("<TDALTURA>",CELULA_ALTURA[indAux]);
			fcConteudo = fcConteudo.replace("<TDPARAM2>",fcParam);
			fcConteudo = fcConteudo.replace("<FONTCLASS>",FONT_CLASS[indAux]);
			fcConteudo = fcConteudo.replace("<CONTEUDO>",fcConteudoAux);
			//fcConteudo = "<TR " + fcParam2 + "><TD "+tdParam+" BGCOLOR=\""+CELULA_FUNDO[indAux]+"\" WIDTH=\""+CELULA_TAMANHO[indAux]+"\" HEIGHT=\""+CELULA_ALTURA[indAux]+"\"" + fcParam + "><FONT CLASS=\""+FONT_CLASS[indAux]+"\">&nbsp;" + fcConteudoAux + "</TD></TR>";
		} else {
			fcConteudo = "<TR " + fcParam2 + "><TD "+tdParam+" BGCOLOR=\""+CELULA_FUNDO[indAux]+"\" WIDTH=\""+CELULA_TAMANHO[indAux]+"\" HEIGHT=\""+CELULA_ALTURA[indAux]+"\"" + fcParam + "><FONT CLASS=\""+FONT_CLASS[indAux]+"\">&nbsp;" + fcConteudoAux + "</TD></TR>";
		}
	} else {
		// Exibe menu princinpal
		if (CONTEUDO_PRINCIPAL[indAux].length > 0) {
			fcConteudo = CONTEUDO_PRINCIPAL[indAux];
			fcConteudo = fcConteudo.replace("<TDPARAM>",fcParam);
			fcConteudo = fcConteudo.replace("<FONTCLASS>",FONT_ROOT_CLASS[indAux]);
			fcConteudo = fcConteudo.replace("<CONTEUDO>","<a href='"+link[indAux][fcIndiceAux]+"' target=\""+target[indAux][fcIndiceAux]+"\"><img hspace=5 border=0 src='/upload/titulos/"+IDS[indAux][fcIndiceAux]+".gif'></a>");		    
		} else {
			fcConteudo = "<TD " + fcParam + "><FONT CLASS=\""+FONT_ROOT_CLASS[indAux]+"\">&nbsp;" + fcConteudoAux + "</TD>";		    
		}
	}
	return(fcConteudo);
}

function exibeMenu(indAux,nivelAux) {
	conteudoHtmlMenu = "";
	conteudoHtmlMenu += exibeConteudoInicio(indAux,nivelAux);
	for (indiceCount=0;indiceCount<=indice[indAux];indiceCount++) {
		if (pai[indAux][indiceCount] == nivelAux) {
			conteudoHtmlMenu += exibeConteudoMenu(indAux,indiceCount);
			/*
			document.write(nome[indiceCount] + " (" + item[indiceCount] + ")");
			
			if (verificaFilho(indiceCount)) {
				document.write(" com filho ");
			} else {
				document.write(" sem filho ");
			}
			
			document.write("<BR>");
			*/
		}
	}
	conteudoHtmlMenu += exibeConteudoFinal(indAux,nivelAux);
	return (conteudoHtmlMenu);
}

function verificaFilho(itemNivelAux) {
	vfRet = false;
	//document.write(" ["+ itemNivelAux +"] ");
	for (vfIndiceCount=0;vfIndiceCount<indice;vfIndiceCount++) {
		if (pai[vfIndiceCount] == itemNivelAux) {
			vfRet = true;
		}
	}
	return(vfRet);
}
function td_mouse_over(indAux,tdmoIndiceAux,td) {
	if (pai[indAux][tdmoIndiceAux] > 0) {
		td.style.backgroundColor = CELULA_FUNDO_2[indAux];
	}
}
function td_mouse_out(indAux,tdmoIndiceAux,td) {
	if (pai[indAux][tdmoIndiceAux] > 0) {
		td.style.backgroundColor = CELULA_FUNDO[indAux];
	}
}

function mouse_over(indAux,omoIndiceAux) {
	if (pai[indAux][omoIndiceAux] > 0) {
		// Exibe menu normal
//		alert("n - " + nome[ommIndiceAux]);
	} else {
		// Exibe menu princinpal
//		alert("p - " + nome[ommIndiceAux]);
	}
	
	if (pai[indAux][omoIndiceAux] == 0) {
//		mleft[omoIndiceAux] = event.clientX - (CELULA_TAMANHO[indAux] / 2);
//		mtop[omoIndiceAux] = ROOT_TOP_FIX[indAux];
	} else {
//		mtop[omoIndiceAux] = mtop[pai[omoIndiceAux]] + (qtd[omoIndiceAux] * (CELULA_ALTURA[indAux] + CELULA_DISTANCIA[indAux])) - 18;
//		mleft[omoIndiceAux] = mleft[pai[omoIndiceAux]] + (CELULA_TAMANHO[indAux] - 4);
	}

	if (mtop[indAux][omoIndiceAux] > 0) {
		/*
		vDiv[1] = document.all.menu_desk_1;
		vDiv[2] = document.all.menu_desk_2;
		vDiv[3] = document.all.menu_desk_3;
		vDiv[4] = document.all.menu_desk_4;
		vDiv[5] = document.all.menu_desk_5;
		vDiv[6] = document.all.menu_desk_6;
		vDiv[7] = document.all.menu_desk_7;
		*/

		mdesk = vDiv[indAux][nivel[indAux][omoIndiceAux]];
		mdesk.style.top = mtop[indAux][omoIndiceAux] + fatorVertical();
		mdesk.style.left = mleft[indAux][omoIndiceAux] + fatorHorizontal();
		mdesk.innerHTML = exibeMenu(indAux,omoIndiceAux);
		mdesk.style.visibility = "visible";

		for (moI=nivel[indAux][omoIndiceAux]+1;moI<totalNivel[indAux];moI++) {
			mdesk_sub = vDiv[indAux][moI];
			mdesk_sub.style.visibility = "hidden";
		}
		onMenu[indAux] = 1;
	}
}

function mouse_out(indAux,ommIndiceAux) {
	onMenu[indAux] = 0;
	if (pai[indAux][ommIndiceAux] > 0) {
		// Exibe menu normal
//		alert("n - " + nome[ommIndiceAux]);
	} else {
		// Exibe menu princinpal
//		alert("p - " + nome[ommIndiceAux]);
	}
	setTimeout("escondeMenu("+indAux+","+nivel[indAux][ommIndiceAux]+")",300);
//alert(ommIndiceAux);
}

function escondeMenu(indAux,divIndiceAux,emForcaAux) {
	if ((onMenu[indAux] == 0) || (emForcaAux == 1)) {
		vDiv[indAux][divIndiceAux].style.visibility = "hidden";
		for (emI=divIndiceAux;emI<totalNivel[indAux];emI++) {
			mdesk_sub = vDiv[indAux][emI];
			mdesk_sub.style.visibility = "hidden";
		}
	} else {
		setTimeout("escondeMenu("+indAux+","+divIndiceAux+","+emForcaAux+")",300);
	}
}

function getIndNum(nameAux) {
	iginTmp = 0;
	for (igin=0;igin<mInd.length;igin++) {
		if (mInd[igin] == nameAux) {
			iginTmp = igin;
		}
	}
	return(iginTmp);
}

function geraMenu(indNamTmp) {
	indTmp = getIndNum(indNamTmp);
	divHtml[indTmp] = "";
	jscHtml[indTmp] = "";
	for (j=1;j<=totalNivel[indTmp];j++) {
		divHtml[indTmp] += ("<DIV ID=\"menu_desk_"+indTmp+"_"+j+"\" OnMouseOver=\"onMenu["+indTmp+"]=1\" OnMouseOut=\"mouse_out("+indTmp+","+j+")\" STYLE=\"top: 10; left:10; Dwidth:200; Dheight:300; position:absolute; visibility: hidden; z-index:10;\"></DIV>");
		jscHtml[indTmp] += ("vDiv["+indTmp+"]["+j+"] = document.all.menu_desk_"+indTmp+"_"+j+";\n");
	}
}

function escreveDiv() {
	for(i=0;i<divHtml.length;i++) {
		document.write(divHtml[i]);
		document.write("<"+"SCRIPT>"+jscHtml[i]+"</"+"SCRIPT>");
	}
}

function escreveMenu(indNamTmp) {
	indTmp = getIndNum(indNamTmp);
	document.write(exibeMenu(indTmp,"0"));
}
