var nrCategorii = 7;
var nrSubCategorii = new Array();
nrSubCategorii[4] = 2;

selectedCat = (selectedProd) ? selectedProd.substr(0, 2) : null;
selectedSubcat = (selectedProd) ? selectedProd.substr(2, 2) : null;

var oldOnLoad = window.onload;
window.onload = function() {
	if (oldOnLoad && typeof(oldOnLoad) == "function")
		oldOnLoad();
	hideAll();
	setHandlers();
	if (document.getElementById)
		if (selectedProd) {
			isSubcat = unz (selectedProd.substr(3, 1));
			if (isSubcat)
			{
				objSelectedSubcat = document.getElementById ("aSubCategoria" + selectedProd.substr(0, 4));
				objSelectedSubcat.style.color = "Red";
				toggleSubmenu("prodSubcategorie" + selectedProd.substr(0, 2), true);
			}
			toggleSubmenu("prodList" + selectedProd.substr(0, 4), true);			
			objSelectedCat = document.getElementById ("aCategoria" + selectedProd.substr(0, 2));
			objSelectedCat.style.color = "Red";
			objSelectedProd = document.getElementById ("aProdus" + selectedProd);
			objSelectedProd.style.color = "Red";
		}
}

function toggleSubmenu(strName, bVisible)
{
	if (! document.getElementById)
		return false;

	var objElem = document.getElementById(strName);
	if (! objElem)
		return false;
	
	if (typeof(bVisible) == "undefined")
		bVisible = (objElem.style.display == "none");

	objElem.style.display = (bVisible ? "block" : "none");
	return true;
}

function toggleSelect(obj, index)
{
	var cnt = index.length;
	var objOld = null;
	var selectedItem = null;
	switch (cnt)
	{
		case 2:	// categorie
			selectedItem = selectedCat;
			objOld = document.getElementById ("aCategoria" + selectedItem);
			selectedCat = (index == selectedItem) ? null : index;
			break;
		case 4:	// categorie
			selectedItem = selectedSubcat;
			objOld = document.getElementById ("aSubCategoria" + selectedItem);
			selectedSubcat = (index == selectedItem) ? null : index;
			break;
		case 6:	// categorie
			selectedItem = selectedProd;
			objOld = document.getElementById ("aProdus" + selectedItem);
			break;
	}
	if (objOld)
		objOld.style.color = "";
	
	obj.style.color = (index == selectedItem) ? "" : "Red"
	

}


function hideAll(index)			// ascunde toate produsele si subcategoriile cu exceptia celor din categoria cu indicele "index"
{
	if (! document.getElementById) return false;
	
	for (i=1; i < nrCategorii +1; i++)
	{
		if ( z(i) != index )
			if (nrSubCategorii[i] > 0)
			{
				toggleSubmenu("prodSubcategorie" + z(i), false);
				for (j = 1; j < nrSubCategorii[i] + 1; j++)
					toggleSubmenu("prodList" + z(i) + z(j), false);
			} 
			else
			{
				toggleSubmenu("prodList" + z(i) + z(0), false);
			}
	}
}


function setHandlers()
{
	if (! document.getElementById) return false;
	// pentru categorii
	for (i = 1; i < nrCategorii + 1; i ++)
	{
		obj = document.getElementById("aCategoria" + z(i));		// categoria i
		if (obj)
		{
			if (nrSubCategorii[i] > 1)			// in cazul in care exista subcategorii
			{
				obj.onclick = function() { 		// on click pt categorie
					var index = this.id.substr(this.id.length - 2);
					hideAll(index);
					toggleSubmenu('prodSubcategorie' + index);		// arata sau ascunde lista de subcategorii
					toggleSubmenu('prodList' + index + z(1));			// arata lista de produse din prima subcategorie
					toggleSelect (this, index);
					return false; 
				}
				
				for (j = 1; j < nrSubCategorii[i]+1; j++)			//enumerarea subcategoriilor 
				{
					obj1 = document.getElementById("aSubCategoria" + z(i) + z(j))		// subcategoria ij
					if (obj1)
					{
						obj1.onclick = function() { 
							for (k = 1; k < nrSubCategorii[unz(this.id.substr(this.id.length - 4, 2))] + z(1); k++)
							{
								toggleSubmenu('prodList' + this.id.substr(this.id.length - 4, 2) + z(k), false);	// ascunde listele de produse de la toate subcategoriile
							}
							index = this.id.substr(this.id.length - 4);
							toggleSubmenu('prodList' + index); 	// arata sau ascunde lista de produse din subcategoria curenta
							toggleSelect(this, index);
							return false; 
						}
					}
				}
			} 
			else							// adica daca nu exista subcategorii
			{
				obj.onclick = function() { 
					index = this.id.substr(this.id.length - 2);
					hideAll(index);
					toggleSubmenu('prodList' + index + '00');
					toggleSelect (this, index);
					return false;
				};
			}
		}
	}
}

function z(numar)		//	4 => 04
{
	if (numar < 10)
		numar = "0"+numar;
	return numar;
}

function unz(numar)		// 04 => 4
{
	if (numar < 10)
		numar = numar.replace(0, "");
	return numar;
}