function categoria(id, familia, subfamilia) { //id->valor de 'cat', familia->'smenu...', subfamilia->'snu...'
    this.id = id
    this.familia = familia
    this.subfamilia = subfamilia
} 

function creaCategorias()
{
	// FAMILIA: ORDENADORES INDUSTRIALES
	// SUBFAMILIA: "Chasis Ordenador Industrial"
	categorias[19] = new categoria("51", "smenu2", "snu21"); 
	categorias[20] = new categoria("52", "smenu2", "snu21"); 
	categorias[21] = new categoria("53", "smenu2", "snu21"); 
	categorias[22] = new categoria("54", "smenu2", "snu21"); 
	// SUBFAMILIA: "CPU Industrial"
	categorias[23] = new categoria("55", "smenu2", "snu22"); 
	categorias[24] = new categoria("56", "smenu2", "snu22"); 
	categorias[25] = new categoria("57", "smenu2", "snu22"); 
	categorias[26] = new categoria("58", "smenu2", "snu22"); 
	categorias[52] = new categoria("94", "smenu2", "snu22");
	// SUBFAMILIA: "Sistemas Compact PCI y PXI"
	categorias[27] = new categoria("59", "smenu2", "snu23"); 
	categorias[28] = new categoria("60", "smenu2", "snu23"); 
	categorias[29] = new categoria("61", "smenu2", "snu23"); 
	categorias[30] = new categoria("62", "smenu2", "snu23"); 
	categorias[31] = new categoria("63", "smenu2", "snu23");
	// SUBFAMILIA: "Sistemas Advanced TCA"
	categorias[32] = new categoria("64", "smenu2", "snu24");
	categorias[33] = new categoria("65", "smenu2", "snu24");
	categorias[34] = new categoria("66", "smenu2", "snu24");
	categorias[35] = new categoria("67", "smenu2", "snu24");
	// SUBFAMILIA: "Pantallas Tactiles Industriales"
	categorias[56] = new categoria("98", "smenu2", "snu25");
	categorias[57] = new categoria("99", "smenu2", "snu25");
	categorias[58] = new categoria("100", "smenu2", "snu25");
	categorias[59] = new categoria("101", "smenu2", "snu25");
	categorias[60] = new categoria("102", "smenu2", "snu25");
	categorias[61] = new categoria("103", "smenu2", "snu25");
	categorias[62] = new categoria("104", "smenu2", "snu25");
	categorias[63] = new categoria("105", "smenu2", "snu25");
	categorias[64] = new categoria("106", "smenu2", "snu25");
	categorias[65] = new categoria("107", "smenu2", "snu25");
	categorias[66] = new categoria("108", "smenu2", "snu25");
	//CATEGORIAS que no pertenecen a ninguna subfamilia
	categorias[1] = new categoria("26", "smenu2", "");
	categorias[2] = new categoria("29", "smenu2", "");
	categorias[3] = new categoria("30", "smenu2", "");
	// No està bé.. és pantallas tactiles - categorias[33] = new categoria("31", "smenu2", "");
	categorias[4] = new categoria("32", "smenu2", "");
	categorias[51] = new categoria("93", "smenu2", "");

	//FAMILIA: ADQUISICIÓN DE DATOS
	//SUBFAMILIA: "Tarjetas ISA/PCI/PCI Express"
	categorias[36] = new categoria("68", "smenu3", "snu31");
	categorias[37] = new categoria("69", "smenu3", "snu31");
	categorias[38] = new categoria("70", "smenu3", "snu31");
	categorias[39] = new categoria("71", "smenu3", "snu31");
	categorias[40] = new categoria("72", "smenu3", "snu31");
	//SUBFAMILIA: "Tarjetas PXI/Compact PCI
	categorias[41] = new categoria("73", "smenu3", "snu32");
	categorias[42] = new categoria("74", "smenu3", "snu32");
	categorias[43] = new categoria("75", "smenu3", "snu32");
	categorias[44] = new categoria("76", "smenu3", "snu32");
	categorias[45] = new categoria("77", "smenu3", "snu32");
	//CATEGORIAS que no pertenecen a ninguna subfamilia
	categorias[77] = new categoria("123", "smenu3", "");
	categorias[5] = new categoria("35", "smenu3", "");
	categorias[6] = new categoria("36", "smenu3", "");
	categorias[7] = new categoria("37", "smenu3", "");
	categorias[8] = new categoria("38", "smenu3", "");
	categorias[9] = new categoria("39", "smenu3", "");
	categorias[10] = new categoria("40", "smenu3", "");
	categorias[11] = new categoria("41", "smenu3", "");
	categorias[12] = new categoria("42", "smenu3", "");
	categorias[13] = new categoria("43", "smenu3", "");
	categorias[14] = new categoria("44", "smenu3", "");

	//FAMILIA: COMUNICACIONES INDUSTRIALES
	//SUBFAMILIA: "Switch Ethernet Industrial"
	categorias[46] = new categoria("78", "smenu4", "snu41");
	categorias[47] = new categoria("79", "smenu4", "snu41");
	categorias[48] = new categoria("80", "smenu4", "snu41");
	categorias[67] = new categoria("109", "smenu4", "snu41");
	//SUBFAMILIA: "Switch Ethernet Industrial PoE"
	categorias[49] = new categoria("81", "smenu4", "snu42");
	categorias[50] = new categoria("92", "smenu4", "snu42");
	//CATEGORIAS que no pertenecen a ninguna subfamilia
	categorias[68] = new categoria("110", "smenu4", "");
	categorias[15] = new categoria("47", "smenu4", "");
	categorias[16] = new categoria("48", "smenu4", "");
	categorias[17] = new categoria("49", "smenu4", "");
	categorias[18] = new categoria("50", "smenu4", "");
	categorias[53] = new categoria("95", "smenu4", "");
	categorias[54] = new categoria("96", "smenu4", "");
	categorias[55] = new categoria("97", "smenu4", "");
	// FAMILIA: VISION IP
	// SUBFAMILIA: "Camaras compactas IP"
	categorias[69] = new categoria("114", "smenu5", "snu51"); 
	categorias[70] = new categoria("115", "smenu5", "snu51"); 
	// SUBFAMILIA: "Camaras Domo IP"
	categorias[71] = new categoria("117", "smenu5", "snu52"); 
	categorias[72] = new categoria("118", "smenu5", "snu52"); 
	//CATEGORIAS que no pertenecen a ninguna subfamilia
	categorias[73] = new categoria("119", "smenu5", "");
	categorias[74] = new categoria("120", "smenu5", "");
	categorias[75] = new categoria("121", "smenu5", "");
	categorias[76] = new categoria("122", "smenu5", "");
	return categorias;
}

function montre(id) {

		var d = document.getElementById(id);

		for (var i = 1; i<=150; i++) {
			if (document.getElementById('smenu'+i)) {
				document.getElementById('smenu'+i).style.display='none';
			}
		}
		for (var ie = 1; ie<=150; ie++) {
			if (document.getElementById('snu'+ie)) {
				document.getElementById('snu'+ie).style.display='none';
			}
		}
		if (d) {
			d.style.display='block';
		}
}

function remontre(id) {
		var b = document.getElementById(id);
		var itemSubf = document.getElementById(id+"Item");
		
		for (var ie = 1; ie<=150; ie++) {
			if (document.getElementById('snu'+ie)) {
				document.getElementById('snu'+ie).style.display="none";
			}
		}
		if (b) {	
			b.style.display="block";
		}
}

function getSubfamilia(id)
{
	var subfamilia = "";

	for(i=0; i<categorias.length; i++)
	{
		if(categorias[i].id == id) subfamilia = categorias[i].subfamilia;
	}

	return subfamilia;
}

function estilsSubfamilia(id,tag)
{
	var tagElements = document.getElementsByTagName(tag);
	var elementSel = document.getElementById(id);

	for(i=0; i<tagElements.length; i++)
	{
		if(tagElements[i] && tagElements[i].className == "rojo_sub1_sel") tagElements[i].className = "rojo_sub1";
		if(tagElements[i] && tagElements[i].className == "rojo_sub11_sel") tagElements[i].className = "rojo_sub11";
		if(tagElements[i] && tagElements[i].className == "azul_sub1_sel") tagElements[i].className = "azul_sub1";
		if(tagElements[i] && tagElements[i].className == "azul_sub11_sel") tagElements[i].className = "azul_sub11";
		if(tagElements[i] && tagElements[i].className == "naranja_sub_sel") tagElements[i].className = "naranja_sub";
		if(tagElements[i] && tagElements[i].className == "naranja_sub11_sel") tagElements[i].className = "naranja_sub11";
		if(tagElements[i] && tagElements[i].className == "verde_sub_sel") tagElements[i].className = "verde_sub";
		if(tagElements[i] && tagElements[i].className == "verde_sub11_sel") tagElements[i].className = "verde_sub11";
	}
	if(elementSel && elementSel.className == "rojo_sub1")elementSel.className = "rojo_sub1_sel";
	if(elementSel && elementSel.className == "rojo_sub11")elementSel.className = "rojo_sub11_sel";
	if(elementSel && elementSel.className == "azul_sub1")elementSel.className = "azul_sub1_sel";
	if(elementSel && elementSel.className == "azul_sub11")elementSel.className = "azul_sub11_sel";
	if(elementSel && elementSel.className == "naranja_sub")elementSel.className = "naranja_sub_sel";
	if(elementSel && elementSel.className == "naranja_sub11")elementSel.className = "naranja_sub11_sel";
	if(elementSel && elementSel.className == "verde_sub")elementSel.className = "verde_sub_sel";
	if(elementSel && elementSel.className == "verde_sub11")elementSel.className = "verde_sub11_sel";

}

function activaCategoria(id) 
{
	
	var subfamilia = getSubfamilia(id);

	if(subfamilia != "") {
		var categorias = document.getElementsByTagName("LI");
		var categoriaSel = document.getElementById("cat"+id);
	
		for(i=0; i<categorias.length; i++)
		{
			if(categorias[i] && categorias[i].className == "categoriaSel") categorias[i].className = "categoria";
		}
		if(categoriaSel)categoriaSel.className = "categoriaSel";
	}
	else
	{
		estilsSubfamilia("cat"+id, "DT");
	}
}

function activaSubfamilia(id)
{
	var subfamilia = getSubfamilia(id);

	if(subfamilia != "")
	{
		estilsSubfamilia(subfamilia + "Item", "DT");
	}
}

function itemSel(id)
{
	var subfamilia = getSubfamilia(id);
	var objItemSel = document.getElementById("cat"+id);
	
	if(subfamilia != "")
	{
		activaSubfamilia(id);
		activaCategoria(id);
	}
	else
	{
		activaCategoria(id);
	}

}

function startMenu(idCat)
{	
	var categoria = null;

	for(i=0; i<categorias.length; i++){
		if(categorias[i].id == idCat){
			categoria = categorias[i];
		}
	}

	montre(categoria.familia);
	remontre(categoria.subfamilia);
	itemSel(categoria.id );

}

function obtenirCategoria()
{
	var cat = "";
	var url = window.location.href;

	var posParam = url.lastIndexOf("cat=");
	var paramValue = url.substring(posParam + 4,posParam + 6);

	return paramValue;
}
