// Campuri meniu
var MP_CMDen = 0;
var MP_CMID = 1;
var MP_CMTata = 2;
var MP_CMDFii = 3;
var MP_CMNfii = 4;

// Variabile meniu
var MP_curent = -1; // meniul afisat in mod curent (cel mai adanc)
var MP_cerut = -1; // meniul cerut (cursorul e pe el sau pe elementul-bara)
var MP_cerut_vechi = -1; // meniul cerut inainte de ciclul curent al motorului (pentru a detecta tranzitiile)
var MP_tranzit = 0; // timp pana la implementarea tranzitiei (in cicluri)
var MP_blocat = 1;

function MP_MotorMeniu()
{
	if (MP_blocat) return;
	
	if (MP_cerut_vechi != MP_cerut) MP_tranzit = 5; // incepe tranzitia
	MP_cerut_vechi = MP_cerut;
	
	if (MP_tranzit>0) // deruleaza timpul de tranzitie
		if (!(--MP_tranzit)) {
			// Efectueaza tranzitia
			
			// Incepand de la meniul curent, sterge nodurile pana ajungem la parintele meniului cerut,
			// sau chiar la acesta.
			
			var x = MP_curent;
			var tata = -1;
			if (MP_cerut != -1) tata = MP_meniu[MP_cerut][MP_CMTata];
			
			while ((x != tata) && (x != MP_cerut)) {
				var elem = document.getElementById('MP_Sub'+x);
				if (elem) elem.parentNode.removeChild(elem);
				x = MP_meniu[x][MP_CMTata];
			}

			// Deschide noul meniu, daca nu exista deja

			if ((MP_cerut >= 0) && (MP_cerut != x)) MP_DeschideSub(MP_cerut);
			MP_curent = MP_cerut;
		}
}

function MP_Colaps() // Inchide submeniul curent si dezactiveaza meniul de sus
{
	while (MP_curent != -1) {
		var elem = document.getElementById('MP_Sub'+MP_curent);
		if (elem) elem.parentNode.removeChild(elem);
		MP_curent = MP_meniu[MP_curent][MP_CMTata];
	}
	MP_blocat = 1;
}

function MP_DeschideSub(x) // Deschide un submeniu
{
	var elemTata;
	var elem;
	var table = document.createElement('TABLE');
	var tbody = document.createElement('TBODY');
	var X, Y;
	var tipTata = (MP_meniu[x][MP_CMTata]<0); // 1=meniu de bara, 0=submeniu
	var maxI;
	
	// Afla pozitia absoluta a elementului-tata
	elemTata = document.getElementById('MP_'+x);
	X = tipTata ? 0 : elemTata.offsetWidth;
	Y = tipTata ? elemTata.offsetHeight : 0;
	elem = elemTata;
	while (elem) {
		X += elem.offsetLeft+20;
		Y += elem.offsetTop;
		elem = elem.offsetParent;
	}
	
	// Construieste tabela
	
	table.className = 'MP_Submeniu';
	table.id = 'MP_Sub'+x;
	i = MP_meniu[x][MP_CMDFii];
	maxI = i + MP_meniu[x][MP_CMNfii];
	while (i<maxI) {
		var tr = document.createElement('TR');
		var td = document.createElement('TD');
		
		td.className = 'MP_RandSub';
		td.id = 'MP_'+i;
		td.onmouseover = new Function('this.className = "MP_RandSubOver"; MP_cerut = '+i+';');
		td.onmouseout = new Function('this.className = "MP_RandSub"; MP_cerut = -1;');
		td.onclick = new Function('NavigNod('+MP_meniu[i][MP_CMID]+');');
		td.innerHTML = MP_meniu[i][MP_CMDen].replace(/ /g,'&nbsp;');
		if (MP_meniu[i][MP_CMNfii]) {
			var img = document.createElement('IMG');
			img.src = 'Grafica/mp_sageata.png';
			img.style.height = '0.6pc';
			img.style.width = '0.6pc';
			img.style.padding = 0;
			img.style.margin = 0;
			td.appendChild(img);
		}
		tr.appendChild(td);
		tbody.appendChild(tr);
		
		i++;
	}
	
	table.appendChild(tbody);
	document.body.appendChild(table);
	
	// Pozitionare finala si afisare
	
	if (X > document.body.offsetWidth - table.offsetWidth - 16)
		X = document.body.offsetWidth - table.offsetWidth - 16;
	table.style.left = X;
	table.style.top = Y;
	table.style.visibility = 'visible';
}

function MP_InitializareOrizontala()
{
	var tr = document.getElementById('MP_Bara');
	var i;
	
	// Initializeaza bara
	
	for (i = 0; i<MP_meniu.length; i++)
		if (MP_meniu[i][MP_CMTata] < 0) break;
		
	while (i<MP_meniu.length) {
		if (MP_meniu[i][MP_CMTata] >= 0) break;
		var td = document.createElement('TD');
		td.className = 'MP_Bara';
		td.id = 'MP_'+i;
		td.innerHTML = MP_meniu[i][MP_CMDen].replace(/ /g,'&nbsp;');
		td.onmouseover = new Function('this.className = "MP_BaraOver"; MP_cerut = '+i+';');
		td.onmouseout = new Function('this.className = "MP_Bara"; MP_cerut = -1;');
		td.onclick = new Function('NavigNod('+MP_meniu[i][MP_CMID]+');');
		tr.appendChild(td);
		i++;
	}
	
	var td = document.createElement('TD');
	td.className = 'MP_BaraGol';
	tr.appendChild(td);
	
	// Activeaza motorul
	
	// Rand comentat ca sa nu imi mai afiseze subcategoriile
	setInterval('MP_MotorMeniu();',100);
}
function MP_InitializareVerticala()
{
	var table = document.getElementById('MP_Bara');
	var i;
	var tbody=table.childNodes(0);
	// Initializeaza bara
	
	for (i = 0; i<MP_meniu.length; i++)
		if (MP_meniu[i][MP_CMTata] < 0) break;

	while (i<MP_meniu.length) {
		if (MP_meniu[i][MP_CMTata] >= 0) break;
		var tr = document.createElement('TR');
		var td = document.createElement('TD');
		td.className = 'MP_Bara';
		td.id = 'MP_'+i;
		td.innerHTML = MP_meniu[i][MP_CMDen].replace(/ /g,'&nbsp;');
		td.onmouseover = new Function('this.className = "MP_BaraOver"; MP_cerut = '+i+';');
		td.onmouseout = new Function('this.className = "MP_Bara"; MP_cerut = -1;');
		td.onclick = new Function('NavigNod('+MP_meniu[i][MP_CMID]+');');
		tr.appendChild(td);
		tbody.appendChild(tr);
		i++;
	}
	
	var td = document.createElement('TD');
	td.className = 'MP_BaraGol';
	tr.appendChild(td);
	tbody.appendChild(tr);
	
	// Activeaza motorul
	
	setInterval('MP_MotorMeniu();',100);
}
function MP_InitializareOrizontala_Footer()
{
	var tr = document.getElementById('MP_Bara_Footer');
	var i;
	
	// Initializeaza bara
	
	for (i = 0; i<MP_meniu.length; i++)
		if (MP_meniu[i][MP_CMTata] < 0) break;
		
	while (i<MP_meniu.length) {
		if (MP_meniu[i][MP_CMTata] >= 0) break;
		var td = document.createElement('TD');
		td.className = 'MP_Bara_Footer';
		td.id = 'MP_'+i;
		td.innerHTML = MP_meniu[i][MP_CMDen].replace(/ /g,'&nbsp;');
		td.onmouseover = new Function('this.className = "MP_BaraOver_Footer"; MP_cerut = '+i+';');
		td.onmouseout = new Function('this.className = "MP_Bara_Footer"; MP_cerut = -1;');
		td.onclick = new Function('NavigNod('+MP_meniu[i][MP_CMID]+');');
		tr.appendChild(td);
		i++;
	}
	
	var td = document.createElement('TD');
	td.className = 'MP_BaraGol_Footer';
	tr.appendChild(td);
	
	// Activeaza motorul
	
	// Rand comentat ca sa nu imi mai afiseze subcategoriile
	//setInterval('MP_MotorMeniu();',100);
}
