var xmlGroup;
var Idioma="castellano";
var MenuProducte="lampares";
var LlistaLamp = new Array();
var LlistaProj = new Array();
var LlistaDisp = new Array();
var TextesSelLamp = new Array( "lampares", 'Modelo Valido. Tenemos varias opciones para su : ', 'Contactenos para saber su precio. [Click]' );
var TextesSelProj = new Array( "El Proyector del que usted quiere solicitar información es el : ", "Projectors/", "FotoResultatFinalProj", "Projectors" );
var TextesSelDisp = new Array( "El Display del que usted quiere solicitar información es el : ", "Displays/",  "FotoResultatFinalDisp", "Displays" );

// Variables per a fer l'Scroll Vertical
var startPosition	= 0;
var topPosition		= 0;
var interval = 0;



function loadXMLDoc(dname) 
{
var xmlDoc=null;
/*
		if (window.ActiveXObject)
		{// code for IE
				xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
		}
		else if (document.implementation.createDocument)
		{// code for Mozilla, Firefox, Opera, etc.
				xmlDoc=document.implementation.createDocument("","",null);
		}
		else
		{
		 		alert('Your browser cannot handle this script');
		}

		if (xmlDoc!=null) 
		{
		 	 xmlDoc.async=false;
			 xmlDoc.load(dname);
			 return xmlDoc;
		}
		else
		{
		 	 return null;
		}
*/

//xmlWriteId("t1", "res");
		if (window.XMLHttpRequest)
		{
//		xmlWriteId("t1", "httpreq");
			  xmlDoc=new window.XMLHttpRequest();
				xmlDoc.open("GET",dname,false);
				xmlDoc.send("");
				return xmlDoc.responseXML;
		}
		// IE 5 and IE 6
		else if (window.ActiveXObject)		 // (ActiveXObject("Microsoft.XMLDOM"))
		{
//		xmlWriteId("t1", "xmldom");
			  xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
			  xmlDoc.async=false;
			  xmlDoc.load(dname);
			  return xmlDoc;
		}
		else
		{
//		xmlWriteId("t1", "res else");
		 	 if (document.implementation.createDocument)
			 {// code for Mozilla, Firefox, Opera, etc.
			 xmlWriteId("t1", "createDocument");
				  xmlDoc=document.implementation.createDocument("","",null);
			 }
			 else
			 {
		 		  alert('Your browser cannot handle this script');
			 }
 	 		 if (xmlDoc!=null) 
		   {
		 	 		xmlDoc.async=false;
			 		xmlDoc.load(dname);
			 		return xmlDoc;
			 }
			 else
			 {
		 	 		return null;
			 }
		}
//		xmlWriteId("t1", "fora");
		alert("Error loading document");
		return null;

}

function xmlGetGroup (xmlDoc, variable)
{
 return xmlDoc.getElementsByTagName(variable) ;
}

function xmlGetValue(xmlGroup, variable)
{
 var xmlElement = xmlGroup.getElementsByTagName(variable)[0];
 
 if (xmlElement.childNodes.length > 0)
 		return str2str(xmlElement.childNodes[0].nodeValue);
 else
 		return null;
		
// return xmlGroup.getElementsByTagName(variable)[0].childNodes[0].nodeValue;
}

function xmlGetMultiValue(xmlGroup, variable, Element)
{
 var xmlElement = xmlGroup.getElementsByTagName(variable)[Element];
 
 if (xmlElement.childNodes.length > 0)
 		return str2str(xmlElement.childNodes[0].nodeValue);
 else
 		return null;

}

function xmlGetElementValue(xmlGroup, Element)
{
 var xmlElement = xmlGroup[Element];
 
 if (xmlElement.childNodes.length > 0)
 		 return str2str(xmlElement.childNodes[0].nodeValue);
 else
 		 return null;
		 
}

function xmlGetSingleValue(xmlDoc, variable)
{
 var xmlElement = xmlDoc.getElementsByTagName(variable)[0];
 
 if (xmlElement.childNodes.length > 0)
 		 return str2str(xmlElement.childNodes[0].nodeValue);
 else
     return null;
}

function xmlWriteId(Nom, Valor)
{
 document.getElementById(Nom).innerHTML=Valor;
}

function WriteID(Identif, Valor)
{
 document.getElementById(Identif).innerHTML=Valor;
}

function xmlGetAttrib(xmlGroup, variable, Atribut)
{
 return xmlGroup.getElementsByTagName(variable)[0].getAttribute(Atribut);
}

function xmlGetAttribValue(xmlGroup, Element, Atribut)
{
 return xmlGroup[Element].getAttribute(Atribut);
}

function xmlGetMultiAttrib(xmlGroup, variable, Atribut, Element)
{
 return xmlGroup.getElementsByTagName(variable)[Element].getAttribute(Atribut);
}


function LoadSelect(xmlDoc, Group, Label, SelName)
{
 	var txt="";
 	var xmlGroup=xmlGetGroup(xmlDoc, Group);									
	var xmlSubGroup=xmlGetGroup(xmlGroup[0], Label);
	
	for (i=0; i<=xmlSubGroup.length-1; i++)
	{
	 		AddOption(SelName, xmlGetElementValue(xmlSubGroup, i));
	}
}

function str2asc(Texte)
{
 	 var i=0;
	 var Out="";
	 for (i=0; i<=Texte.length-1; i++)
	 		 Out = Out + ":" + Texte.charCodeAt(i) ;
			 
	 return Out;
}

function LoadSubSelect(xmlDoc, Group, Label, LabelName, SubLabel, SelName)
{
 	var txt="";
	var Marca="";
	var xmlGroup=xmlGetGroup(xmlDoc, Group);
						
	xmlGroup=xmlGetGroup(xmlGroup[0], Label);

  for (i=0; i<=xmlGroup.length-1; i++)
	{
	 		Marca = xmlGetElementValue(xmlGroup, i);
	 		if (Marca==LabelName)
			{
			 	 xmlSubGroup=xmlGetGroup(xmlGroup[i], SubLabel);
				 for (j=0; j<=xmlSubGroup.length-1; j++)
				 		{
				 	 	 		AddOption(SelName, xmlGetElementValue(xmlSubGroup, j));
						}
				 break;
			}
	 }
}

function AddOption(NomSelect, NomOption, Posicio)
{
 var y=document.createElement('option');
 y.text=NomOption;
 var x=document.getElementById(NomSelect);
 
 try
 		{
		x[x.length] = y;		// Mozilla i Genèrics
		}
 		catch(ex)
			 {
 			 try
   		 		{
	   			x.add(y,Posicio); // standards compliant
   				}
	 				catch(ex)
   					 {
   					 x.add(y); // IE only
   					 }
			 }
	 
}

function EmptySelect(NomSelect)
{
 var x=document.getElementById(NomSelect);
 var longitut = x.length - 1;
 for (i=0; i<=longitut -1; i++)
 {
 		x.remove(1) ;
 }
 x.selectedIndex = 0;
}

function Llista2Select(Llista, SelName)
{
 var i_index=0;
 
 for (i_index=0; i_index<=Llista.length-1; i_index++)
	{
	 		AddOption(SelName, Llista[i_index]);
	}
}

function ExistElement(Llista, Element)
{
 var retorna=false;
 var k_index=0;
 var txt="";
 
 if(Llista.length>0)
 {
 		 for (k_index=0; k_index<=Llista.length-1; k_index++) 
 		 {
 		 		 if (Llista[k_index]==Element) 
		 		 {	 
	 	 		 		 retorna=true;
						 break; 
		 		 }
 		 }
 }
		 return retorna;
}
 
function OrdenaLlista(Llista)
{
 var k_index=0;
 var l_index=0;
 var valorElement;
 
 for (k_index=0; k_index<=Llista.length-1; k_index++)
 {
 		 for (l_index=k_index+1; l_index<=Llista.length-1; l_index++)
		 {
		 		 if (Llista[k_index]>Llista[l_index])
				 {
				 		valorElement=Llista[k_index];
						Llista[k_index] = Llista[l_index];	
						Llista[l_index] = valorElement;
				 }
			}
	}
}

function showmenu(elmnt)
{
document.getElementById(elmnt).style.visibility="visible";
}
function hidemenu(elmnt)
{
document.getElementById(elmnt).style.visibility="hidden";
}

function enableMenu(menu, property)
{
 	// property = (none, block, inline)
	property=(property==''?'block': property);
  document.getElementById(menu).style.display=property;
}

function disableMenu(menu)
{
  document.getElementById(menu).style.display="none";
}

function MdisableMenu(menu)
{
 	 var i=1;
	 var nMenu="";

	 nMenu=menu + '0' + i++;
	 while (document.getElementById(nMenu) != null)
	 {
	 		 disableMenu(nMenu);
			 nMenu = menu + '0' + i++;	 
	 }
}

function MenableMenu(menu)
{
 	 var i=1;
	 var nMenu="";

	 nMenu=menu + '0' + i++;
	 while (document.getElementById(nMenu) != null)
	 {
	 		 enableMenu(nMenu, '');
			 nMenu = menu + '0' + i++;	 
	 }
}

function LoadLampMarques(xmlDoc, SelLampMarques, ResSelLamps, Textes)
{
  hidemenu(ResSelLamps);
	disableMenu(ResSelLamps);
 	LoadSelect(xmlDoc, Textes[0], "marca", SelLampMarques);
}

function LoadModelMarca(xmlDoc, SelLampMarques, SelModel, Textes)
{
 	var no=document.getElementById(SelLampMarques);
	var option=no.options[no.selectedIndex].text;

	EmptySelect(SelModel);

 	LoadSubSelect(xmlDoc, Textes[0], "marca", option, "model", SelModel)
}

function LoadResultModel(xmlDoc, SelLampMarques, SelModel, divResSelLamps, ResSelLamps, AnchorSelLamps, Textes)
{
 var nMarc=document.getElementById(SelLampMarques);
 var optionMarca=nMarc.options[nMarc.selectedIndex].text;
 var nMod=document.getElementById(SelModel);
 var optionModel=nMod.options[nMod.selectedIndex].text;

 var txt = Textes[1] + "<br />" + optionMarca + " " + optionModel + ".<br />" ; //+ Textes[2] ; //<br> Contactenos para saber su precio.";

 enableMenu(divResSelLamps, '');
 showmenu(divResSelLamps); 
 xmlWriteId(ResSelLamps, txt);
 xmlWriteId(AnchorSelLamps, Textes[2]);

// document.getElementById("RespostaSelLamps").height = document.getElementById(ResSelLamps).height;
// xmlWriteId("to", document.getElementById(ResSelLamps).height);
// xmlWriteId("from", document.getElementById("RespostaSelLamps").height);
}

function elemMenu(TagName, LangName, Menu, Col)
{
  this.TagName = TagName;
	this.LangName = LangName;
	this.Menu = Menu;
	this.Col = Col;
}

function LoadGeneralWeb(xmlDoc)
{
 	var LlistaGenTag = new Array();
	var LlistaLampTag = new Array();
	var LlistaProjTag = new Array();
	var LlistaDispTag = new Array();
	var LlistaLampAttr = new Array();
	var LlistaProjAttr = new Array();
	var LlistaDispAttr = new Array();
	var LlistaLampAttr1 = new Array();
	var LlistaProjAttr1 = new Array();
	var LlistaDispAttr1 = new Array();
	var LlistaLampLang = new Array();
	var LlistaProjLang = new Array();
	var LlistaDispLang = new Array();
	var LenGenTag;
	var LenLampTag;
	var LenProjTag;
	var LenDispTag;

  LenGenTag = LoadTags(xmlDoc, "", "menutags", "general", LlistaGenTag, "element");
	LenLampTag = LoadTags(xmlDoc, "", "menutags", "tags" + LlistaGenTag[0], LlistaLampTag, "element");
	LenProjTag = LoadTags(xmlDoc, "", "menutags", "tags" + LlistaGenTag[1], LlistaProjTag, "element");
	LenDispTag = LoadTags(xmlDoc, "", "menutags", "tags" + LlistaGenTag[2], LlistaDispTag, "element");
	
	LoadAttr(xmlDoc, Idioma, "menu" + LlistaGenTag[0], "", LlistaLampAttr, "seleccio", "menu");
	LoadAttr(xmlDoc, Idioma, "menu" + LlistaGenTag[1], "", LlistaProjAttr, "seleccio", "menu");
	LoadAttr(xmlDoc, Idioma, "menu" + LlistaGenTag[2], "", LlistaDispAttr, "seleccio", "menu");
	
	LoadAttr(xmlDoc, Idioma, "menu" + LlistaGenTag[0], "", LlistaLampAttr1, "seleccio", "col");
	LoadAttr(xmlDoc, Idioma, "menu" + LlistaGenTag[1], "", LlistaProjAttr1, "seleccio", "col");
	LoadAttr(xmlDoc, Idioma, "menu" + LlistaGenTag[2], "", LlistaDispAttr1, "seleccio", "col");
	 
	LoadTags(xmlDoc, Idioma, "menu" + LlistaGenTag[0], "", LlistaLampLang, "seleccio");
	LoadTags(xmlDoc, Idioma, "menu" + LlistaGenTag[1], "", LlistaProjLang, "seleccio");
	LoadTags(xmlDoc, Idioma, "menu" + LlistaGenTag[2], "", LlistaDispLang, "seleccio"); 
	
	JoinLlistaWeb(LlistaLampTag, LlistaLampLang, LlistaLampAttr, LlistaLampAttr1, LlistaLamp);
	JoinLlistaWeb(LlistaProjTag, LlistaProjLang, LlistaProjAttr, LlistaProjAttr1, LlistaProj);
	JoinLlistaWeb(LlistaDispTag, LlistaDispLang, LlistaDispAttr, LlistaDispAttr1, LlistaDisp);
}

function JoinLlistaWeb(LlistaTag, LlistaLang, LlistaAttr, LlistaAttr1, LlistaJoin)
{
 	var i_index;
	
	for (i_index = 0; i_index <= LlistaTag.length-1 ; i_index++)
	{
	 	LlistaJoin[i_index] = new elemMenu(LlistaTag[i_index], LlistaLang[i_index], LlistaAttr[i_index], LlistaAttr1[i_index]);
	}
}

function LoadTags(xmlDoc, Idioma, NomGrup, NomSubGrup, LlistaTags, TitolTag)
{
 		 // Retornarà el Nombre d'elements que té aquest TAG
 		 // 1. Agafem l'adressament del grup de TAG's que ens interessen
 		 var xmlGroup;
 
 		 if (Idioma != "")
 		 {
 		 		xmlGroup = xmlGetGroup(xmlDoc, Idioma);
				xmlGroup = xmlGetGroup(xmlGroup[0], NomGrup);
				if (NomSubGrup != "") 
				 	 xmlGroup = xmlGetGroup(xmlGroup[0], NomSubGrup);
 		 }
 		 else
 		 {
 		 		 xmlGroup = xmlGetGroup(xmlDoc, NomGrup) ;
				 if (NomSubGrup != "") 
	 			 		xmlGroup = xmlGetGroup(xmlGroup[0], NomSubGrup);
 		 }
 // 2. Miro si hi ha elements dintre aquest grup
 		if (xmlGroup[0].childNodes.length > 1)
 		{
 		 	  // 2.1 Buido la Llista
		 		LlistaTags.length = 0;
  			// 3. Trec els Elements que hi ha dins el Grup
 				xmlElement = xmlGetGroup(xmlGroup[0], TitolTag);
				for (i = 0; i <= xmlElement.length-1; i++)
				{
	 			 		LlistaTags.push(xmlGetElementValue(xmlElement, i)) ;
				}
				return xmlGroup[0].childNodes.length ;
 		 } 
 		 else
 		 {
 		 		 return 0;
 		 }
}

function LoadAttr(xmlDoc, Idioma, NomGrup, NomSubGrup, LlistaAttr, TitolTag, TitolAttr)
{
 		 // Retornarà el Nombre d'elements que té aquest TAG
 		 // 1. Agafem l'adressament del grup de TAG's que ens interessen
 		 var xmlGroup;
 
 		 if (Idioma != "")
 		 {
 		 		xmlGroup = xmlGetGroup(xmlDoc, Idioma);
				xmlGroup = xmlGetGroup(xmlGroup[0], NomGrup);
				if (NomSubGrup != "") 
				 	 xmlGroup = xmlGetGroup(xmlGroup[0], NomSubGrup);
 		 }
 		 else
 		 {
 		 		 xmlGroup = xmlGetGroup(xmlDoc, NomGrup) ;
				 if (NomSubGrup != "") 
	 			 		xmlGroup = xmlGetGroup(xmlGroup[0], NomSubGrup);
 		 }
 // 2. Miro si hi ha elements dintre aquest grup
 		if (xmlGroup[0].childNodes.length > 1)
 		{
 		 	  // 2.1 Buido la Llista
		 		LlistaAttr.length = 0;
  			// 3. Trec els Elements que hi ha dins el Grup
 				xmlElement = xmlGetGroup(xmlGroup[0], TitolTag);
				for (i = 0; i <= xmlElement.length-1; i++)
				{
	 			 		LlistaAttr.push(xmlGetAttribValue(xmlElement, i, TitolAttr)) ;
				}
				return xmlGroup[0].childNodes.length ;
 		 } 
 		 else
 		 {
 		 		 return 0;
 		 }
}

function TrobaMenu(xmlDoc, NomMenu, LlistaFets, LlistaMenu)
{
 var i_index=0;
 var resultat;
 var requerit;
 var xmlMenu = xmlGetGroup(xmlDoc, "castellano");
 xmlMenu = xmlGetGroup(xmlMenu[0], NomMenu);
 xmlMenu = xmlGetGroup(xmlMenu[0], "seleccio");
 
 for (i_index=0; i_index<=xmlMenu.length-1; i_index++)
 {
 		resultat=xmlGetElementValue(xmlMenu, i_index);

		if (ExistElement(LlistaFets, resultat)==false && xmlGetAttribValue(xmlMenu, i_index, "menu")=="si")
		{
		 	 if (xmlMenu[i_index].childNodes.length>1)
			 {
		 	 		requerit=xmlGetValue(xmlMenu[i_index], "requerit");
			 		if (ExistElement(LlistaFets, requerit)==true)
			 		{
		 	 		 	 LlistaMenu.push(resultat);
			 		 }
				}
				else
				{
				 		LlistaMenu.push(resultat);
				}
		}
 }
}

function LlegeixLlistaSel(Llista, SelName, n)
{
 var i_index=0;
 var no;
 var option="";
 
 for (i_index=0; i_index<=n-1; i_index++)
 {
 		no			= document.getElementById(SelName + (i_index + 1));
		option	= no.options[no.selectedIndex].text;

//		option  = ConvertTagSelProj(option);

		Llista.push(option);
 		//Llista.push(no.options[no.selectedIndex].text);
 }
}

function LlegeixLlistaSelTag(Llista, SelName, n, LlistaTags)
{
 var i_index=0;
 var no;
 var option="";
 
 Llista.length=0;
 for (i_index=0; i_index<=n-1; i_index++)
 {
 		no			= document.getElementById(SelName + (i_index + 1));
		option	= no.options[no.selectedIndex].text;

		option  = ConvertTagSelProj(option, LlistaTags);

		Llista.push(option);
 		//Llista.push(no.options[no.selectedIndex].text);
 }
}


function ConvertTagSelProj(Nom, LlistaTags)
{
  var resultat="";
	
	for (k_index=0; k_index <= LlistaTags.length-1; k_index++)
	{
	 	 if (Nom == LlistaTags[k_index].LangName)
		 		resultat = LlistaTags[k_index].TagName;
	}

	 return resultat;
}

function LoadLlistaTag(xmlDoc, LlistaFets, LlistaEscollits, NovaOpcio, LlistaNova, LlistaTags, TagProducte)
{
 // LlistaFets = Quines Seleccións hem triat ja
 // LlistaEscollits = Quin Valor d'Aquestes Seleccións hem triat ja
 // Nova Opció = La Opció de la que volem informar-nos
 // LlistaNova = La Llista amb els resultats
 var xmlGroup = xmlGetGroup(xmlDoc, TagProducte);
 var xmlSubGroup = xmlGetGroup(xmlGroup[0], "marca");
 var ModelProj = new Array();
 var LlistaTmp = new Array();
 var xmlElement;
 var xmlSubElement;
 var resultat="";
 var condicio=true;
 var condicio1;
 var i_index=0;
 var j_index=0;
 var k_index=0;
 var m_index=0;
  
 LlistaTmp.length = 0;
 for (i_index=0; i_index<=xmlSubGroup.length-1; i_index++)
 {
 		xmlElement=xmlGetGroup(xmlSubGroup[i_index], "model");
		for (j_index=0; j_index<=xmlElement.length-1; j_index++)
		{
		  ModelProj.length=0
			
			ModelProj.push((LlistaTags[0].Menu == "si" ? xmlGetElementValue(xmlSubGroup, i_index) : ""));
			ModelProj.push((LlistaTags[1].Menu == "si" ? xmlGetElementValue(xmlElement, j_index) : ""));
			
			for (k_index=2; k_index <= LlistaTags.length-1; k_index++)
			{
			 		ModelProj.push((LlistaTags[k_index].Menu == "si" ? xmlGetValue(xmlElement[j_index], LlistaTags[k_index].TagName) : ""));
			}
	
			resultat = "";
			for (k_index=0; k_index <= LlistaTags.length-1; k_index++)
			{
			 		if (LlistaTags[k_index].TagName == NovaOpcio) resultat = ModelProj[k_index];
			}
			condicio = true

			for (k_index = 0; k_index <= LlistaFets.length-1; k_index++)
			{
			   for (m_index = 0; m_index <= LlistaTags.length-1; m_index++)
				 {
						if (LlistaFets[k_index] == LlistaTags[m_index].TagName)
						{
						 	 condicio = (LlistaEscollits[k_index] == ModelProj[m_index]?condicio:false);
						}
				 } 				
			}
			
			condicio1=((LlistaNova.length > 0)?(ExistElement(LlistaNova, resultat)==false?true:false):true);
	
			if (condicio==true && condicio1)
			{
			 	 LlistaNova.push(resultat);
			}		
		}
 }
}

function LoadSelectTag(xmlDoc, Group, Label, SubLabel, SelName)
{
 var xmlGroup = xmlGetGroup(xmlDoc, Group);
 var xmlSubGroup = xmlGetGroup(xmlGroup[0], Label);
 var xmlElement;
 var resultat="";
 
 var resultats=new Array();
 var models=new Array();
 var txt = "";

 // Trec del XML els elements SubLabel buscats
 for (i=0; i<=xmlSubGroup.length-1 ; i++)
 {
 		 xmlElement=xmlGetGroup(xmlSubGroup[i], SubLabel);
		 for (j=0; j<=xmlElement.length-1; j++)
		 {
//		 		 txt = txt + " : " + xmlGetElementValue(xmlSubGroup,i) + " " + xmlGetMultiValue(xmlSubGroup[i], "model", j);
 		 		 resultat=xmlGetElementValue(xmlElement, j);
				 if (ExistElement(resultats, resultat)== false)
		 		 {
//		 			resultats[resultats.length] = resultat;
						resultats.push(resultat);
		 				}
		 }
 }
 // Ordeno la Llista de Resultats
 OrdenaLlista(resultats);

 // Poso al Select els elements Escollits
 Llista2Select(resultats, SelName);
}

function StartSelGen(xmlDoc, FormProj, SelTipus, SelProj, n, FormRes, TagMenuProducte, TagProducte, FormTaula, Textes, LlistaTags)
{
  var LlistaFets = new Array();
	var LlistaMenu = new Array();
	var i_index = 0;

	// Amago els menus de selecció fins que no hi arribem per no confondre
	for (i_index = 1; i_index <= n; i_index++)
	{
	 	 hidemenu(SelProj + i_index);
//		 disableMenu(SelProj + i_index);
	}
	for (i_index = 2; i_index <= n; i_index++)
	{
	   hidemenu(SelTipus + i_index);
//		 disableMenu(SelTipus + i_index);
	}
	for (i_index = 2; i_index <= n; i_index++)
	{
			hidemenu(FormProj + i_index);
//			disableMenu(FormProj + i_index);
	}
	
	// Amago el menu de resultats
	hidemenu(FormRes);
	disableMenu(FormRes)
	
	// Llegeixo l'opció que pugui estar triada d'avantma
	LlegeixLlistaSel(LlistaFets, SelTipus, 0);
	TrobaMenu(xmlDoc, TagMenuProducte, LlistaFets, LlistaMenu);
	
	// Buido i Re-ompleno el primer Select
	for (i_index = 1; i_index <= n; i_index++)
	{
	  EmptySelect(SelTipus + i_index);
	  EmptySelect(SelProj + i_index);
	}
	Llista2Select(LlistaMenu, SelTipus + "1");
	
	WriteTable(xmlDoc, FormTaula, SelTipus, SelProj, n, TagProducte, Textes, LlistaTags);
}

function EmptyMultiSelect(SelName, n, nTot)
{
 var i_index;
 for (i_index=n; i_index <= nTot; i_index++)
 {
 	EmptySelect(SelName + i_index);
	hidemenu(SelName + i_index);
//	disableMenu(SelName + i_index);
 }
}

function fStartSelTipus(xmlDoc, FormProj, SelTipus, SelProj, n, nfi, FormRes, TagMenuProducte, TagProducte, FormTaula, Textes, LlistaTags)
{
  var LlistaEscollits = new Array();
	var LlistaFets = new Array();
	var LlistaMenu = new Array();
  var TipusSeleccio = new Array();
	var NomSelect;
	var FormIndex=0;
	var Ultima=false;

	// Miro si es la última Selecció o no
	if (n>0)
	{
	 	 var no=document.getElementById(SelTipus + (n - 1));
		 var option = no.options[no.selectedIndex].text;
		 option=ConvertTagSelProj(option, LlistaTags);
		 
		 if (option=="model")
		 {
		 	  Ultima=true;
		 }
	 }
	 else
	 {
	 		Ultima=true;
	 }
	
	 // Si no es una opció Vàlida
	 n = ((n > 0 && n <= nfi) ? n : nfi + 1);
   no = document.getElementById(SelProj + (n - 1));
	 if (no.selectedIndex > 0)
	 {	 
	 	 WriteTable(xmlDoc, FormTaula, SelTipus, SelProj, n, TagProducte, Textes, LlistaTags);

		 if (Ultima==false)
		 {
		 		NomSelect=SelTipus + n;
	
//				enableMenu(NomSelect, 'inline');
//				enableMenu(FormProj + n, 'inline');
				showmenu(NomSelect);
				showmenu(FormProj + n);

				LlegeixLlistaSel(LlistaFets, SelTipus, n-1);
				TrobaMenu(xmlDoc, TagMenuProducte, LlistaFets, LlistaMenu);

				EmptyMultiSelect(SelProj, n, nfi);
				EmptyMultiSelect(SelTipus, n+1, nfi); 		
				EmptySelect(NomSelect);
				Llista2Select(LlistaMenu, NomSelect);
		 }
		 else
		 {
		 		var i_index=0;
  			var txt="";
				var xmlElement;
		
	  		// Es la última selecció, omplo el caixeti de resultats
				LlegeixLlistaSelTag(LlistaFets, SelTipus, n-1, LlistaTags);
				LlegeixLlistaSel(LlistaEscollits, SelProj, n-1);
		
				xmlElement=TrobaElementProj(xmlDoc, LlistaFets, LlistaEscollits, TagProducte);

				enableMenu(FormRes, '');
				showmenu(FormRes);

				txt = "<span style='font-size: 1.4em'>" + Textes[0] + "</span><br /><br />";
				for (i_index=0; i_index <= LlistaTags.length-1; i_index++)
				{
				 	txt = txt + "<b>" + LlistaTags[i_index].LangName + " : </b>" ; // + CercaTagGrup(xmlElement, LlistaProj[i_index].TagName) + "<br />" ;
					if (LlistaTags[i_index].TagName == "foto")
						 txt = txt + "<img width='400px' align='top' style='margin-left: 10%; border: black 1px solid' src='http://www.sternaudiovisual.com/FotosMaterial/" + Textes[1] + CercaTagGrup(xmlElement, LlistaTags[i_index].TagName) + "' onclick='' onmouseout='' id='" + Textes[2] +"' /><br /><br /><br />";
			  	else if (LlistaTags[i_index].TagName == "manual")
						 txt = txt + "<a href='http://www.sternaudiovisual.com/CatalegMaterial/" + Textes[1] + CercaTagGrup(xmlElement, LlistaTags[i_index].TagName) + "'>&nbsp;" + CercaTagGrup(xmlElement, LlistaTags[i_index].TagName) + "</a><br /><br />";
					else
						 txt = txt + CercaTagGrup(xmlElement, LlistaTags[i_index].TagName) + "<br /><br />" ;
				}
				xmlWriteId(FormRes, txt) ;
		 }
	}
}

function fTriaSelProj(xmlDoc, FormName, SelTipus, SelProj, n, nfi, LlistaTags, TagProducte)
{
 	var no=document.getElementById(SelTipus+ n);
	var option=no.options[no.selectedIndex].text;
	var no1=document.getElementById(SelProj + n);
	
	var LlistaFets=new Array();
	var LlistaEscollits=new Array();
	var LlistaNova=new Array();
	
	EmptyMultiSelect(SelTipus, n+1, nfi);
	EmptyMultiSelect(SelProj, n+2, nfi);
	
	option=ConvertTagSelProj(option, LlistaTags);
//	enableMenu(FormName, 'inline');
	showmenu(FormName);
	
	LlegeixLlistaSelTag(LlistaFets, SelTipus, n-1, LlistaTags);
	LlegeixLlistaSel(LlistaEscollits, SelProj, n-1);

	EmptySelect(SelProj + n);
	
	LoadLlistaTag(xmlDoc, LlistaFets, LlistaEscollits, option, LlistaNova, LlistaTags, TagProducte);
			
	OrdenaLlista(LlistaNova);	
	Llista2Select(LlistaNova, SelProj + n);
}

function CercaTagGrup(xmlGrup, TagName)
{
   var Valor;
	 
	 if (xmlGrup.nodeName == TagName) {
	 		Valor = xmlGrup.firstChild.nodeValue ;
			return (Valor != null ? str2str(Valor) : ""); }
	 else if (xmlGrup.parentNode.nodeName == TagName) {
	 		Valor = xmlGrup.parentNode.firstChild.nodeValue;
			return (Valor != null ? str2str(Valor) : ""); }
	 else {
	 		Valor = xmlGetValue(xmlGrup, TagName);
			return (Valor != null ? str2str(Valor) : ""); }
}

function SortidaFiltre(xmlGrup, LlistaFets, LlistaEscollits)
{
 		var i_index = 0;
		var retorna = true;
		
		if (LlistaFets.length > 0)
			 for (i_index = 0; i_index <= LlistaFets.length-1; i_index++)
			 		if (LlistaFets[i_index] != "")
		 	 			 if (CercaTagGrup(xmlGrup, LlistaFets[i_index]) != LlistaEscollits[i_index])
			 			 		retorna = false;
					
		return retorna;
}

function WriteTable(xmlDoc, FormName, SelTipus, SelProj, n, TagProducte, Textes, LlistaTags)
{
   var xmlGroup;
	 var xmlSubGroup;
	 var i_index;
	 var j_index;
	 var k_index;

	 var txt="";
	 var txt_col = new Array();
	 var txt_head = new Array();
	 var num_col=0;
	 var Col=0;

	 var LlistaFets = new Array();
	 var LlistaEscollits = new Array();

	 // Primer miro quins he fet ja
	 LlegeixLlistaSelTag(LlistaFets, SelTipus, n-1, LlistaTags);
	 LlegeixLlistaSel(LlistaEscollits, SelProj, n-1);

	 	
 	 txt="<table class='classTaula'>";
	 xmlGroup = xmlGetGroup(xmlDoc, TagProducte);
	 xmlGroup = xmlGetGroup(xmlGroup[0], LlistaTags[0].TagName); //"marca");

	 if (LlistaTags.length>0)
	 {
	 		// Cerco quantes columnes tinc
	 		num_col = LlistaTags[0].Col;
			for (k_index=1; k_index <= LlistaTags.length-1; k_index++)
					if (num_col < LlistaTags[k_index].Col)
						 num_col = LlistaTags[k_index].Col;
						 
			// Borro la Llista de Títols
			for (k_index=0; k_index <= num_col; k_index++)
					txt_head[k_index] = "";
					
			// Escric els Titols
			for (k_index=0; k_index <= LlistaTags.length-1; k_index++)
					txt_head[LlistaTags[k_index].Col] = txt_head[LlistaTags[k_index].Col] + (txt_head[LlistaTags[k_index].Col] != ""? " / " : "") + LlistaTags[k_index].LangName;
	 }
	 
	 // Escric la Capçalera
	 txt = txt + "<thead><tr>";
	 for (k_index = 0; k_index <= num_col; k_index++)
	 		 //txt = txt + "<th>" + LlistaProj[k_index].LangName + "</th>";
			 txt = txt + "<th class='classCell'>" + txt_head[k_index] + "</th>";
	 txt = txt + "</tr></thead>";
	 
	 // Escric el Peu
	 txt = txt + "<tfoot><tr><th colspan='" + num_col + "'>" + Textes[3] + "</th></tr></tfoot>";
	 
	 // Ompleno la Taula
	 for (i_index=0; i_index<=xmlGroup.length-1; i_index++)
	 {
	 		 xmlSubGroup = xmlGetGroup(xmlGroup[i_index], LlistaTags[1].TagName);						 //"model");
	 		 for (j_index=0; j_index<=xmlSubGroup.length-1; j_index++)
			 {
			 		 // Miro si realment no esta Filtrat
			 		 if (SortidaFiltre(xmlSubGroup[j_index], LlistaFets, LlistaEscollits)==true)
					 {
			 		 		// Buido el texte de cada columna
			 		 		for (k_index=0; k_index <= LlistaTags.length-1; k_index++)
					 		 		txt_col[k_index] = "";

					 		// Reompleno cada columna 
			 		 		for (k_index=0; k_index <= LlistaTags.length-1; k_index++)
					 		{
					 		 		Col=LlistaTags[k_index].Col;
					 		 		if (Col >=0)
							 		{
							 		 	 if (LlistaTags[k_index].TagName == "foto")
										  	txt_col[Col] = txt_col[Col] + "<img width='100px' style='border: black 1px solid' src='http://www.sternaudiovisual.com/FotosMaterial/" + Textes[1] + CercaTagGrup(xmlSubGroup[j_index], LlistaTags[k_index].TagName) + "' onclick='AmpliaFotoTaula(" + i_index + ", " + j_index + ")' onmouseout='RedueixFotoTaula(" + i_index + ", " + j_index + ")' id='FotoI" + i_index + "J" + j_index + "' />";
										 else if (LlistaTags[k_index].TagName == "manual")
												txt_col[Col] = txt_col[Col] + "&nbsp;<a href='http://www.sternaudiovisual.com/CatalegMaterial/" + Textes[1] + CercaTagGrup(xmlSubGroup[j_index], LlistaTags[k_index].TagName) + "'>" + LlistaTags[k_index].LangName + "</a>";
										 else
												 txt_col[Col] = txt_col[Col] + CercaTagGrup(xmlSubGroup[j_index], LlistaTags[k_index].TagName) + "  " ;
							 		}
					 		 }
					 		 // Creo una Fila
					 		 txt = txt + "<tr>";
					 		 for (k_index=0; k_index <= num_col; k_index++)
					 		 		txt = txt + "<td class='classCell'>" + txt_col[k_index] + "</td>";
					 		 txt = txt + "</tr>";
						}
			 }
		}

	 txt=txt+"</table>";
	 xmlWriteId(FormName, txt);
}

function AmpliaFotoTaula(i, j)
{
 var NomId = "FotoI" + i + "J" + j;
 document.getElementById(NomId).width = 200; 
}

function RedueixFotoTaula(i, j)
{
 var NomId = "FotoI" + i + "J" + j;
 document.getElementById(NomId).width = 100; 
}

function TrobaElementProj(xmlDoc, LlistaFets, LlistaEscollits, TagProducte)
{
   var xmlGroup;
	 var xmlSubGroup;
	 var i_index;
	 var j_index;
	 	 
	 xmlGroup = xmlGetGroup(xmlDoc, TagProducte);
	 xmlGroup = xmlGetGroup(xmlGroup[0], "marca");

	 
	 // Ompleno la Taula
	 for (i_index=0; i_index<=xmlGroup.length-1; i_index++)
	 {
	 		 xmlSubGroup = xmlGetGroup(xmlGroup[i_index], "model");
	 		 for (j_index=0; j_index<=xmlSubGroup.length-1; j_index++)
			 {
			 		 // Miro si realment no esta Filtrat
			 		 if (SortidaFiltre(xmlSubGroup[j_index], LlistaFets, LlistaEscollits)==true)
					 		return xmlSubGroup[j_index];
			 }
		}
}

function str2str(Texte)
{
   var i_index = 0;
	 var Out = "";
//	 for (i_index=0; i_index <= Texte.length-1; i_index++)
//	 		 Out = Out + (Texte.charCodeAt(i_index) >= 32 ? Texte.charAt(i_index) : "");
			 
	 for (i_index=Texte.length-1 ; i_index >= 0; i_index--)
	 		 Out = ((Texte.charCodeAt(i_index) > 32) || (Texte.charCodeAt(i_index) == 32 && Out != "") ? Texte.charAt(i_index) : "") + Out;

	return Out;
}

function rellotgeData(){
	var mydate=new Date();var year=mydate.getYear();
	if (year < 1000)year+=1900;
	var day=mydate.getDay();
	var month=mydate.getMonth();
	var daym=mydate.getDate();
	if (daym<10)daym="0"+daym;
	var dayarray=new Array("Domingo","Lunes","Martes","Miercoles","Jueves","Viernes","Sabado");
	var montharray=new Array("Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto",
	                                             "Septiembre","Octubre","Noviembre","Diciembre");
	var horas = mydate.getHours();
	horas = (horas<10)?"0"+horas:horas;
	var minutos = mydate.getMinutes();
	minutos = (minutos<10)?"0"+minutos:minutos;
	var segundos = mydate.getSeconds();
	segundos = (segundos<10)?"0"+segundos:segundos;
	document.getElementById("idRellotge").innerHTML = "<"+"small><"+"font color='000000' face='Verdana'>"+
	                                                dayarray[day]+" "+daym+" de "+montharray[month]+" de "+
                                                       year+" "+horas+":"+minutos+":"+segundos+"<"+"/font><"+"/small>";
	setTimeout('rellotgeData()',1000);
}

function rellotgeDataCat(){
	var mydate=new Date();var year=mydate.getYear();
	if (year < 1000)year+=1900;
	var day=mydate.getDay();
	var month=mydate.getMonth();
	var daym=mydate.getDate();
	if (daym<10)daym="0"+daym;
	var dayarray=new Array("Diumenge","Dilluns","Dimarts","Dimecres","Dijous","Divendres","Disabte");
	var montharray=new Array("Gener","Febrer","Març","Abril","Maig","Juny","Juliol","Agost",
	                                             "Setembre","Octubre","Novembre","Desembre");
	var horas = mydate.getHours();
	horas = (horas<10)?"0"+horas:horas;
	var minutos = mydate.getMinutes();
	minutos = (minutos<10)?"0"+minutos:minutos;
	var segundos = mydate.getSeconds();
	segundos = (segundos<10)?"0"+segundos:segundos;
	document.getElementById("idRellotge").innerHTML = "<"+"small><"+"font color='000000' face='Verdana'>"+
	                                                dayarray[day]+" "+daym+" de "+montharray[month]+" de "+
                                                       year+" "+horas+":"+minutos+":"+segundos+"<"+"/font><"+"/small>";
	setTimeout('rellotgeDataCat()',1000);
}

function showmenuTable(TableName, MenuName)
{
// enableMenu(MenuName, '');
 showmenu(MenuName);
 document.getElementById(MenuName).width = document.getElementById(TableName).offsetWidth;
}

function fMenuProductes(vProducte)
{
   MenuProducte=vProducte;

	 switch(MenuProducte)
	 {
	 		 case 'lampares':
			 			enableMenu('SeleccioLampares', '');
						disableMenu('SeleccioProjector');
						disableMenu('SeleccioDisplay');

			 			showmenu('SeleccioLampares');
						hidemenu('SeleccioProjector');
						hidemenu('SeleccioDisplay');
//						document.getElementById('SeleccioLampares').style.top = 40;
			 			break;
			 case 'projectors':
			 			disableMenu('SeleccioLampares');
						enableMenu('SeleccioProjector', '');
						disableMenu('SeleccioDisplay');

			 			hidemenu('SeleccioLampares');
						showmenu('SeleccioProjector');
						hidemenu('SeleccioDisplay');
//						document.getElementById('SeleccioProjector').style.top = 40;
			 			break;
			 case 'displays':
			 			disableMenu('SeleccioLampares');
						disableMenu('SeleccioProjector');
						enableMenu('SeleccioDisplay', '');

			 			hidemenu('SeleccioLampares');
						hidemenu('SeleccioProjector');
						showmenu('SeleccioDisplay');
//						document.getElementById('SeleccioDisplay').style.top = 40;
			 			break;
			 case 'monitors':
			 			break;
			 case 'portatils':
			 			break;
			 case 'pdis':
			 			break;
			 case 'ofertes':
			 			break;
	 }
}

function fMenuSobreProductes(vProducte)
{
   MenuProducte=vProducte;

	 switch(MenuProducte)
	 {
	 		 case 'lampares':
			 			enableMenu('sobreLampares', '');
						disableMenu('sobreProjectors');
						disableMenu('sobreDisplays');
						disableMenu('sobreMonitors');
						disableMenu('sobrePortatils');
						disableMenu('sobrePDIS');

						enableMenu('sobreLamparesTxt', '');
						disableMenu('sobreProjectorsTxt');
						disableMenu('sobreDisplaysTxt');
						disableMenu('sobreMonitorsTxt');
						disableMenu('sobrePortatilsTxt');
						disableMenu('sobrePDISTxt');

			 			break;
			 case 'projectors':
			 			disableMenu('sobreLampares');
						enableMenu('sobreProjectors', '');
						disableMenu('sobreDisplays');
						disableMenu('sobreMonitors');
						disableMenu('sobrePortatils');
						disableMenu('sobrePDIS');

			 			disableMenu('sobreLamparesTxt');
						enableMenu('sobreProjectorsTxt', '');
						disableMenu('sobreDisplaysTxt');
						disableMenu('sobreMonitorsTxt');
						disableMenu('sobrePortatilsTxt');
						disableMenu('sobrePDISTxt');

			 			break;
			 case 'displays':
			 			disableMenu('sobreLampares');
						disableMenu('sobreProjectors');
						enableMenu('sobreDisplays', '');
						disableMenu('sobreMonitors');
						disableMenu('sobrePortatils');
						disableMenu('sobrePDIS');

			 			disableMenu('sobreLamparesTxt');
						disableMenu('sobreProjectorsTxt');
						enableMenu('sobreDisplaysTxt', '');
						disableMenu('sobreMonitorsTxt');
						disableMenu('sobrePortatilsTxt');
						disableMenu('sobrePDISTxt');

			 			break;
			 case 'monitors':
			 			disableMenu('sobreLampares');
						disableMenu('sobreProjectors');
						disableMenu('sobreDisplays');
						enableMenu('sobreMonitors', '');
						disableMenu('sobrePortatils');
						disableMenu('sobrePDIS');

			 			disableMenu('sobreLamparesTxt');
						disableMenu('sobreProjectorsTxt');
						disableMenu('sobreDisplaysTxt');
						enableMenu('sobreMonitorsTxt', '');
						disableMenu('sobrePortatilsTxt');
						disableMenu('sobrePDISTxt');

			 			break;
			 case 'portatils':
			 			disableMenu('sobreLampares');
						disableMenu('sobreProjectors');
						disableMenu('sobreDisplays');
						disableMenu('sobreMonitors');
						enableMenu('sobrePortatils', '');
						disableMenu('sobrePDIS');

			 			disableMenu('sobreLamparesTxt');
						disableMenu('sobreProjectorsTxt');
						disableMenu('sobreDisplaysTxt');
						disableMenu('sobreMonitorsTxt');
						enableMenu('sobrePortatilsTxt', '');
						disableMenu('sobrePDISTxt');

			 			break;
			 case 'pdis':
			 			disableMenu('sobreLampares');
						disableMenu('sobreProjectors');
						disableMenu('sobreDisplays');
						disableMenu('sobreMonitors');
						disableMenu('sobrePortatils');
						enableMenu('sobrePDIS', '');

			 			disableMenu('sobreLamparesTxt');
						disableMenu('sobreProjectorsTxt');
						disableMenu('sobreDisplaysTxt');
						disableMenu('sobreMonitorsTxt');
						disableMenu('sobrePortatilsTxt');
						enableMenu('sobrePDISTxt', '');

			 			break;
			 case 'ofertes':
			 			disableMenu('sobreLampares');
						disableMenu('sobreProjectors');
						disableMenu('sobreDisplays');
						disableMenu('sobreMonitors');
						disableMenu('sobrePortatils');
						disableMenu('sobrePDIS');

			 			disableMenu('sobreLamparesTxt');
						disableMenu('sobreProjectorsTxt');
						disableMenu('sobreDisplaysTxt');
						disableMenu('sobreMonitorsTxt');
						disableMenu('sobrePortatilsTxt');
						disableMenu('sobrePDISTxt');

			 			break;
	 }
}

function fMenuContactaProductes(vProducte)
{
   MenuProducte=vProducte;

	 switch(MenuProducte)
	 {
	 		 case 'lampares':
			 			enableMenu('contactaLampares', '');
						disableMenu('contactaProjectors');
						disableMenu('contactaDisplays');
						disableMenu('contactaMonitors');
						disableMenu('contactaPortatils');
						disableMenu('contactaPDIS');

						enableMenu('contactaLamparesTxt', '');
						disableMenu('contactaProjectorsTxt');
						disableMenu('contactaDisplaysTxt');
						disableMenu('contactaMonitorsTxt');
						disableMenu('contactaPortatilsTxt');
						disableMenu('contactaPDISTxt');

			 			break;
			 case 'projectors':
			 			disableMenu('contactaLampares');
						enableMenu('contactaProjectors', '');
						disableMenu('contactaDisplays');
						disableMenu('contactaMonitors');
						disableMenu('contactaPortatils');
						disableMenu('contactaPDIS');

			 			disableMenu('contactaLamparesTxt');
						enableMenu('contactaProjectorsTxt', '');
						disableMenu('contactaDisplaysTxt');
						disableMenu('contactaMonitorsTxt');
						disableMenu('contactaPortatilsTxt');
						disableMenu('contactaPDISTxt');

			 			break;
			 case 'displays':
			 			disableMenu('contactaLampares');
						disableMenu('contactaProjectors');
						enableMenu('contactaDisplays', '');
						disableMenu('contactaMonitors');
						disableMenu('contactaPortatils');
						disableMenu('contactaPDIS');

			 			disableMenu('contactaLamparesTxt');
						disableMenu('contactaProjectorsTxt');
						enableMenu('contactaDisplaysTxt', '');
						disableMenu('contactaMonitorsTxt');
						disableMenu('contactaPortatilsTxt');
						disableMenu('contactaPDISTxt');

			 			break;
			 case 'monitors':
			 			disableMenu('contactaLampares');
						disableMenu('contactaProjectors');
						disableMenu('contactaDisplays');
						enableMenu('contactaMonitors', '');
						disableMenu('contactaPortatils');
						disableMenu('contactaPDIS');

			 			disableMenu('contactaLamparesTxt');
						disableMenu('contactaProjectorsTxt');
						disableMenu('contactaDisplaysTxt');
						enableMenu('contactaMonitorsTxt', '');
						disableMenu('contactaPortatilsTxt');
						disableMenu('contactaPDISTxt');

			 			break;
			 case 'portatils':
			 			disableMenu('contactaLampares');
						disableMenu('contactaProjectors');
						disableMenu('contactaDisplays');
						disableMenu('contactaMonitors');
						enableMenu('contactaPortatils', '');
						disableMenu('contactaPDIS');

			 			disableMenu('contactaLamparesTxt');
						disableMenu('contactaProjectorsTxt');
						disableMenu('contactaDisplaysTxt');
						disableMenu('contactaMonitorsTxt');
						enableMenu('contactaPortatilsTxt', '');
						disableMenu('contactaPDISTxt');

			 			break;
			 case 'pdis':
			 			disableMenu('contactaLampares');
						disableMenu('contactaProjectors');
						disableMenu('contactaDisplays');
						disableMenu('contactaMonitors');
						disableMenu('contactaPortatils');
						enableMenu('contactaPDIS', '');

			 			disableMenu('contactaLamparesTxt');
						disableMenu('contactaProjectorsTxt');
						disableMenu('contactaDisplaysTxt');
						disableMenu('contactaMonitorsTxt');
						disableMenu('contactaPortatilsTxt');
						enableMenu('contactaPDISTxt', '');

			 			break;
			 case 'ofertes':
			 			disableMenu('contactaLampares');
						disableMenu('contactaProjectors');
						disableMenu('contactaDisplays');
						disableMenu('contactaMonitors');
						disableMenu('contactaPortatils');
						disableMenu('contactaPDIS');

			 			disableMenu('contactaLamparesTxt');
						disableMenu('contactaProjectorsTxt');
						disableMenu('contactaDisplaysTxt');
						disableMenu('contactaMonitorsTxt');
						disableMenu('contactaPortatilsTxt');
						disableMenu('contactaPDISTxt');

			 			break;
	 }
}

function fMenuDevolucionsProductes(vProducte)
{
   MenuProducte=vProducte;

	 switch(MenuProducte)
	 {
	 		 case 'lampares':
			 			enableMenu('devolucionsLampares', '');
						disableMenu('devolucionsProjectors');
						disableMenu('devolucionsDisplays');
						disableMenu('devolucionsMonitors');
						disableMenu('devolucionsPortatils');
						disableMenu('devolucionsPDIS');

						MenableMenu('devolucionsLamparesTxt', '');
						MdisableMenu('devolucionsProjectorsTxt');
						MdisableMenu('devolucionsDisplaysTxt');
						MdisableMenu('devolucionsMonitorsTxt');
						MdisableMenu('devolucionsPortatilsTxt');
						MdisableMenu('devolucionsPDISTxt');

			 			break;
			 case 'projectors':
			 			disableMenu('devolucionsLampares');
						enableMenu('devolucionsProjectors', '');
						disableMenu('devolucionsDisplays');
						disableMenu('devolucionsMonitors');
						disableMenu('devolucionsPortatils');
						disableMenu('devolucionsPDIS');

			 			MdisableMenu('devolucionsLamparesTxt');
						MenableMenu('devolucionsProjectorsTxt', '');
						MdisableMenu('devolucionsDisplaysTxt');
						MdisableMenu('devolucionsMonitorsTxt');
						MdisableMenu('devolucionsPortatilsTxt');
						MdisableMenu('devolucionsPDISTxt');

			 			break;
			 case 'displays':
			 			disableMenu('devolucionsLampares');
						disableMenu('devolucionsProjectors');
						enableMenu('devolucionsDisplays', '');
						disableMenu('devolucionsMonitors');
						disableMenu('devolucionsPortatils');
						disableMenu('devolucionsPDIS');

			 			MdisableMenu('devolucionsLamparesTxt');
						MdisableMenu('devolucionsProjectorsTxt');
						MenableMenu('devolucionsDisplaysTxt', '');
						MdisableMenu('devolucionsMonitorsTxt');
						MdisableMenu('devolucionsPortatilsTxt');
						MdisableMenu('devolucionsPDISTxt');

			 			break;
			 case 'monitors':
			 			disableMenu('devolucionsLampares');
						disableMenu('devolucionsProjectors');
						disableMenu('devolucionsDisplays');
						enableMenu('devolucionsMonitors', '');
						disableMenu('devolucionsPortatils');
						disableMenu('devolucionsPDIS');

			 			MdisableMenu('devolucionsLamparesTxt');
						MdisableMenu('devolucionsProjectorsTxt');
						MdisableMenu('devolucionsDisplaysTxt');
						MenableMenu('devolucionsMonitorsTxt', '');
						MdisableMenu('devolucionsPortatilsTxt');
						MdisableMenu('devolucionsPDISTxt');

			 			break;
			 case 'portatils':
			 			disableMenu('devolucionsLampares');
						disableMenu('devolucionsProjectors');
						disableMenu('devolucionsDisplays');
						disableMenu('devolucionsMonitors');
						enableMenu('devolucionsPortatils', '');
						disableMenu('devolucionsPDIS');

			 			MdisableMenu('devolucionsLamparesTxt');
						MdisableMenu('devolucionsProjectorsTxt');
						MdisableMenu('devolucionsDisplaysTxt');
						MdisableMenu('devolucionsMonitorsTxt');
						MenableMenu('devolucionsPortatilsTxt', '');
						MdisableMenu('devolucionsPDISTxt');

			 			break;
			 case 'pdis':
			 			disableMenu('devolucionsLampares');
						disableMenu('devolucionsProjectors');
						disableMenu('devolucionsDisplays');
						disableMenu('devolucionsMonitors');
						disableMenu('devolucionsPortatils');
						enableMenu('devolucionsPDIS', '');

			 			MdisableMenu('devolucionsLamparesTxt');
						MdisableMenu('devolucionsProjectorsTxt');
						MdisableMenu('devolucionsDisplaysTxt');
						MdisableMenu('devolucionsMonitorsTxt');
						MdisableMenu('devolucionsPortatilsTxt');
						MenableMenu('devolucionsPDISTxt', '');

			 			break;
			 case 'ofertes':
			 			disableMenu('devolucionsLampares');
						disableMenu('devolucionsProjectors');
						disableMenu('devolucionsDisplays');
						disableMenu('devolucionsMonitors');
						disableMenu('devolucionsPortatils');
						disableMenu('devolucionsPDIS');

			 			MdisableMenu('devolucionsLamparesTxt');
						MdisableMenu('devolucionsProjectorsTxt');
						MdisableMenu('devolucionsDisplaysTxt');
						MdisableMenu('devolucionsMonitorsTxt');
						MdisableMenu('devolucionsPortatilsTxt');
						MdisableMenu('devolucionsPDISTxt');

			 			break;
	 }
}

function fMenuInformacioProductes(vProducte)
{
   MenuProducte=vProducte;

	 switch(MenuProducte)
	 {
	 		 case 'lampares':
			 			enableMenu('informacioLampares', '');
						disableMenu('informacioProjectors');
						disableMenu('informacioDisplays');
						disableMenu('informacioMonitors');
						disableMenu('informacioPortatils');
						disableMenu('informacioPDIS');

						MenableMenu('informacioLamparesTxt', '');
						disableMenu('informacioProjectorsTxt');
						disableMenu('informacioDisplaysTxt');
						disableMenu('informacioMonitorsTxt');
						disableMenu('informacioPortatilsTxt');
						disableMenu('informacioPDISTxt');

			 			break;
			 case 'projectors':
			 			disableMenu('informacioLampares');
						enableMenu('informacioProjectors', '');
						disableMenu('informacioDisplays');
						disableMenu('informacioMonitors');
						disableMenu('informacioPortatils');
						disableMenu('informacioPDIS');

			 			MdisableMenu('informacioLamparesTxt');
						enableMenu('informacioProjectorsTxt', '');
						disableMenu('informacioDisplaysTxt');
						disableMenu('informacioMonitorsTxt');
						disableMenu('informacioPortatilsTxt');
						disableMenu('informacioPDISTxt');

			 			break;
			 case 'displays':
			 			disableMenu('informacioLampares');
						disableMenu('informacioProjectors');
						enableMenu('informacioDisplays', '');
						disableMenu('informacioMonitors');
						disableMenu('informacioPortatils');
						disableMenu('informacioPDIS');

			 			MdisableMenu('informacioLamparesTxt');
						disableMenu('informacioProjectorsTxt');
						enableMenu('informacioDisplaysTxt', '');
						disableMenu('informacioMonitorsTxt');
						disableMenu('informacioPortatilsTxt');
						disableMenu('informacioPDISTxt');

			 			break;
			 case 'monitors':
			 			disableMenu('informacioLampares');
						disableMenu('informacioProjectors');
						disableMenu('informacioDisplays');
						enableMenu('informacioMonitors', '');
						disableMenu('informacioPortatils');
						disableMenu('informacioPDIS');

			 			MdisableMenu('informacioLamparesTxt');
						disableMenu('informacioProjectorsTxt');
						disableMenu('informacioDisplaysTxt');
						enableMenu('informacioMonitorsTxt', '');
						disableMenu('informacioPortatilsTxt');
						disableMenu('informacioPDISTxt');

			 			break;
			 case 'portatils':
			 			disableMenu('informacioLampares');
						disableMenu('informacioProjectors');
						disableMenu('informacioDisplays');
						disableMenu('informacioMonitors');
						enableMenu('informacioPortatils', '');
						disableMenu('informacioPDIS');

			 			MdisableMenu('informacioLamparesTxt');
						disableMenu('informacioProjectorsTxt');
						disableMenu('informacioDisplaysTxt');
						disableMenu('informacioMonitorsTxt');
						enableMenu('informacioPortatilsTxt', '');
						disableMenu('informacioPDISTxt');

			 			break;
			 case 'pdis':
			 			disableMenu('informacioLampares');
						disableMenu('informacioProjectors');
						disableMenu('informacioDisplays');
						disableMenu('informacioMonitors');
						disableMenu('informacioPortatils');
						enableMenu('informacioPDIS', '');

			 			MdisableMenu('informacioLamparesTxt');
						disableMenu('informacioProjectorsTxt');
						disableMenu('informacioDisplaysTxt');
						disableMenu('informacioMonitorsTxt');
						disableMenu('informacioPortatilsTxt');
						enableMenu('informacioPDISTxt', '');

			 			break;
			 case 'ofertes':
			 			disableMenu('informacioLampares');
						disableMenu('informacioProjectors');
						disableMenu('informacioDisplays');
						disableMenu('informacioMonitors');
						disableMenu('informacioPortatils');
						disableMenu('informacioPDIS');

			 			MdisableMenu('informacioLamparesTxt');
						disableMenu('informacioProjectorsTxt');
						disableMenu('informacioDisplaysTxt');
						disableMenu('informacioMonitorsTxt');
						disableMenu('informacioPortatilsTxt');
						disableMenu('informacioPDISTxt');

			 			break;
	 }
}

function txt2tag(texte, pos)
{
 	 var txt = "hola";
	 var txt1 = "adeu";
	 txt.fontSize(7);
	 txt1.fontSize(12);
	 
	 xmlWriteId("to",txt + " " + txt1);  
}

function txtPrint(texte)
{
 	 var pos = texte.indexOf('/', 0);
	 var pos0 = 0;
	 var car="";
	 var texteIn="";
	 var texteOut="";
	 var atributs="";
	 
	 if (pos == -1) 
	 		texteOut = texte;
			
	 while (pos >= 0 && pos < texte.length)
	 {
	 		car = texte.charAt(pos+1);
			if (car != '/')
			{
			 	 texteIn = texte.slice(pos0, pos);
			 	 pos0 = pos;
				 pos = texte.indexOf('/', pos+1);
				 atributs = texte.slice(pos0, pos+1);
				 texteOut += txt2tag(texteIn, atributs);
				 
				 pos0 = pos+1;
		  	 pos = texte.indexOf('/', pos+1) ;
			}
			else
			{
			 	 if (texte.length >= pos+2)
				 {
				 		 texte = texte.substring(0, pos) + texte.substring(pos+1, texte.length);
						 
						 pos = texte.indexOf('/', pos+1);
				 }
				 else
				 {
				 		texte = texte.subString(0, pos);
						pos = texte.length;
				 }
			}
					
			if (pos == -1 || pos0 == 0)
				  if (pos0 < texte.length)
					{
	 		 		 	  texteOut += texte.slice(pos0, texte.length);
				  		break;
					}
	 }
	 
	 return texteOut;
}

function txt2tag(texte, atributs)
{
 	 var pos = 0;
   var car = atributs.charAt(pos++);
	 
 	 if (car == '/')
	 {
	 	  car = atributs.charAt(pos++);
	 		while (car != '/' && pos <= atributs.length-1)
			{
				switch(car)
				{
				 	 case 'n':						// Salt de Pàgina
					 			texte += '<br />';
					 			break;
					 case 'h':						// Linea de separació
					 			texte += '<hr />';
					 case 'f':								 		 	 			 	 // Font (s-size, c-color, b-bold, u-underlined, e-emphasic, i-italics, r-strong, t-tatxat)
					 			car = atributs.charAt(pos++);
								switch(car)
								{
								 	 case 's':								 			 // Size (b-big, s-small)
									 			car = atributs.charAt(pos++);
									 			switch(car)
												{
												 		case 'b':
																 texte = '<big>' + texte + '</big>';
																 break;
														case 's':
																 texte = '<small>' + texte + '</small>';
																 break;
												}
									 			break;
									 case 'c':
									 			break;
									 case 'b':
									 			texte = '<b>' + texte + '</b>';
									 			break;
									 case 'u':
									 			texte = '<ins>' + texte + '</ins>';
									 			break;
									 case 'e':
									 			texte = '<em>' + texte + '</em>';
												break;
									 case 'i':
									 			texte = '<i>' + texte + '</i>';
												break;
									 case 'r':
									 			texte = '<strong>' + texte + '</strong>';
												break;
									 case 't':
									 			texte = '<del>' + texte + '</del>';
												break;
								}
					 			break;
					 case 'a':							// Align (l-left, c-center, r-right)
					 			car = atributs.charAt(pos++);
								switch(car)
								{
								 	 case 'l':
									 			break;
									 case 'c':
									 			break;
									 case 'r':
									 			break;
								}
					 case 's':							// Sub-Super Script (u-SuperScript, d-SubScript)
					 			car = atributs.charAt(pos++);
								switch(car)
								{
								 	 case 'u':
									 			texte = '<sup>' + texte + '</sup>';
												break;
									 case 'd':
									 			texte = '<sub>' + texte + '</sub>';
												break;
								}
					 case '.':							// No fa res, indica l'inici d'un paràgraf.
					 			break;
				}
				car = atributs.charAt(pos++);	
			}	
	 }
	 return texte;
}

function mesuraTop(Objecte)
{
   var top = 0 ; //12 + 40 ;
	 
   while (Objecte != null)
	 {
	 		top			+= Objecte.offsetTop;
			Objecte = Objecte.offsetParent;
	 }
	 
	 return top;    	 
}

function mesuraLeft(Objecte)
{
   var left = 0 ;//Objecte.style.fontSize;
	 
   while (Objecte != null)
	 {
	 		left		+= Objecte.offsetLeft;
			Objecte = Objecte.offsetParent;
	 }
	 
	 return left;    	 
}

function startScroll(divId, spanId, gWidth, gHeight, pxIni, pxFi, speed)
{
  startPosition = 0;
	topPosition 	= 0;

//	document.getElementById(divId).style.top     = topPos;
	document.getElementById(divId).style.width 	 = gWidth;
	document.getElementById(divId).style.height  = gHeight;

	document.getElementById(divId).pixelWidth 	 = gWidth;
	document.getElementById(divId).pixelHeight  = gHeight;


	topPos   = mesuraTop(document.getElementById(divId)) ;
	leftPos	 = mesuraLeft(document.getElementById(divId));
	
	document.getElementById(spanId).style.clip	 = "rect(" + (startPosition + pxIni + 1) + "px " + gWidth + "px " + (startPosition + gHeight) + "px 0px)";
	document.getElementById(spanId).style.top		 = topPos + "px";
	document.getElementById(spanId).style.left	 = leftPos + "px";
	document.getElementById(spanId).style.width	 = gWidth + "px";
	document.getElementById(spanId).style.height = gHeight + "px";

	document.getElementById(spanId).pixelTop		 = topPos + "px";
	document.getElementById(spanId).pixelLeft	 = leftPos + "px";
	document.getElementById(spanId).pixelWidth	 = gWidth + "px";
	document.getElementById(spanId).pixelHeight = gHeight + "px";

	
	scrollit(divId, spanId, gWidth, gHeight, pxIni, pxFi, speed);
}

function scrollit(divId, spanId, gWidth, gHeight, pxIni, pxFi, speed)
{
	var topPos = mesuraTop(document.getElementById(divId)) ;

	
	if (startPosition != pxFi)
	{
	 	 startPosition = startPosition + 1;
		 topPosition	 = topPosition - 1;
		 document.getElementById(spanId).style.clip = "rect(" + (startPosition + pxIni + 1 ) + "px " + gWidth + "px " + (startPosition + gHeight) + "px 0px)";
		 document.getElementById(spanId).style.top = topPosition + topPos + "px" ;
 		 document.getElementById(spanId).pixelTop = topPosition + topPos + "px" ;

	}
	else
	{
	 	 startPosition = 0;
		 topPosition = 0; //topPos;
//		 endPosition = gHeight;
	}

	interval = setTimeout("scrollit('" + divId + "', '" + spanId + "', " + gWidth + ", " + gHeight + ", " + pxIni + ", " + pxFi + ", " + speed + ")",speed);
	
}

function stopinterval()
{
clearTimeout(interval);
}

function TreuEspaiIni(texte)
{
    var i = 0;
		var car = texte.charAt(i++);
		var texteOut = "";
		
		while (car == " ")
				car = texte.charAt(i++);
				
		texteOut = texte.slice(i-1, texte.length-i+2);
		return texteOut;
}

function execAttributes(valId, atributs)
{
 		var pos0 = 0;
		var pos  = atributs.indexOf(':', pos0);
		var nomAtribut = "";

		while (pos < atributs.length-1)
		{
				// Si la Gramatica es correcte, agafo el nom del Atribut
				pos	  = atributs.indexOf(':', pos0);
				if (pos > pos0) 
			 		 nomAtribut = atributs.slice(pos0, pos);
		
				// Miro si finalitza amb ';' per fer-ne un altre o es final de cadena
				pos0 	= pos + 1;
				pos 	= atributs.indexOf(';', pos0);
				if (pos < pos0)
				   pos = atributs.length-1;
					 
				valAtribut = atributs.slice(pos0, pos);
				pos0	= pos + 1;
	
				// Escric el resultat
				document.getElementById(valId).style.setAttribute(TreuEspaiIni(nomAtribut), TreuEspaiIni(valAtribut));
		}
}

function execXmlLinea(xmlElement, i_index, condMenu, condValor)
{

		var valor 		= xmlGetElementValue(xmlElement, i_index);
		var valId 		= xmlGetAttribValue(xmlElement, i_index, "id");
		var enable 		= xmlGetAttribValue(xmlElement, i_index, "enable");
		var visible 	= xmlGetAttribValue(xmlElement, i_index, "visible");
		var href 			= xmlGetAttribValue(xmlElement, i_index, "href");
		var color			= xmlGetAttribValue(xmlElement, i_index, "color");
		var atributs	= xmlGetAttribValue(xmlElement, i_index, "attributes");
		var out				= xmlGetAttribValue(xmlElement, i_index, "out");
		var fill			= xmlGetAttribValue(xmlElement, i_index, "fill");
		var condRead	= "";

		if (condMenu != '')
			  condRead = xmlGetAttribValue(xmlElement, i_index, condMenu);
				
		if (fill == null)
			  fill = "innerHTML";
		
		if (valId != null && valId != "" && valor != null && ((condMenu != '' && condRead == condValor) || condMenu == ''))
		{
		 	  if (fill == "innerHTML")
					  xmlWriteId(valId, txtPrint(valor));
				else if(fill == "value")
						document.getElementById(valId).value = valor; //txtPrint(valor);
						
				document.getElementById(valId).contentEditable="inherit";
				if (enable != null)
					 if (enable.toUpperCase() != 'SI')
					 {
					 	  try
							{
							 		document.getElementById(valId).style.color = "grey";
									document.getElementById(valId).value = valor.fontcolor("grey");
									document.getElementById(valId).href="";
							}
							catch(err)
							{
									document.getElementById(valId).disabled = true;
							}
					 		//document.getElementById(valId).setAttribute('disabled', true);
					 }
					 else
					 		document.getElementById(valId).disabled = false;
					 		//document.getElementById(valId).setAttribute('disabled', false);
				
				if (visible != null)
					  if (visible.toUpperCase() == 'SI')
						 		showmenu(valId);
						else if (visible.toUpperCase() == 'NO')
						 		hidemenu(valId);
								 
				if (out != null)	 
					  if (out.toUpperCase() != 'SI')
						    enableMenu(valId, '');
						else
							  disableMenu(valId, '');
								 
				if (color != null)
					  document.getElementById(valId).setAttribute('color', color);
							
				if (href != null)
					  document.getElementById(valId).setAttribute('href', 'http://www.sternaudiovisual.com/' + href);
							
				if (atributs != null)
						if (atributs != '')
					 	 		execAttributes(valId, atributs);
		}

}

function emptyVar(VarName)
{
 		var i_index = 0;
		var lenVar = VarName.length;

		for (i_index = 0; i_index <= lenVar-1; i_index++)
				VarName.pop();
}

function execXmlVar(VarName, xmlElement, i_index, condMenu, condValor)
{

		var valor 		= xmlGetElementValue(xmlElement, i_index);
		var filter 		= xmlGetAttribValue(xmlElement, i_index, "filter");
		var condRead	= "";
		
		
		
		if (condMenu != '')
			  condRead = xmlGetAttribValue(xmlElement, i_index, condMenu);
		
		if ((condMenu != '' && condRead == condValor) || condMenu == '')
		 	  if (filter != null)
				{
					  if (filter.toUpperCase() == 'NO')
		 	  			  VarName.push(valor);
						else if(filter.toUpperCase() == 'SI')
								VarName.push(txtPrint(valor));
				}
				else
						VarName.push(txtPrint(valor));
}

			
function carregaMenuGeneral(xmlDoc)
{
 		var xmlGroup = xmlGetGroup(xmlDoc, Idioma);
		var xmlSubGroup;
		var xmlElement;
		var i=0;
		var j=0;
		
		// Carrega el Menú de la Barra
		xmlGroup = xmlGetGroup(xmlGroup[0], "general");
		xmlGroup = xmlGetGroup(xmlGroup[0], "menu_barra");
		xmlSubGroup = xmlGetGroup(xmlGroup[0], "columna");

		for (i=0; i <= xmlSubGroup.length-1; i++)
		{
		 		 // Valor de la Columna o Títol del Menú
		 		 execXmlLinea(xmlSubGroup, i, '', '');
		 
		 	  // Valor de la Fila o Opció del Menú
		    xmlElement = xmlGetGroup(xmlSubGroup[i], "fila");
				for (j=0; j <= xmlElement.length-1; j++)
				{
				     execXmlLinea(xmlElement, j, '', '');
				} 	 
		}

		// Carrega les Variables Generals		
		// Borro les variables per Reomplir-les
		emptyVar(TextesSelLamp);
		emptyVar(TextesSelProj);
		emptyVar(TextesSelDisp);

		// TextesSelLamp
		xmlGroup = xmlGetGroup(xmlDoc, Idioma);
		xmlGroup = xmlGetGroup(xmlGroup[0], "general");
		xmlGroup = xmlGetGroup(xmlGroup[0], "variables");
		xmlGroup = xmlGetGroup(xmlGroup[0], "textessellamp");
		xmlSubGroup = xmlGetGroup(xmlGroup[0], "linea");
		
		// Llegeixo les Variables
		for (i=0; i <= xmlSubGroup.length-1; i++)
				 execXmlVar(TextesSelLamp, xmlSubGroup, i, '', ''); 

		// TextesSelProj
		xmlGroup = xmlGetGroup(xmlDoc, Idioma);
		xmlGroup = xmlGetGroup(xmlGroup[0], "general");
		xmlGroup = xmlGetGroup(xmlGroup[0], "variables");
		xmlGroup = xmlGetGroup(xmlGroup[0], "textesselproj");
		xmlSubGroup = xmlGetGroup(xmlGroup[0], "linea");
		
		// Llegeixo les Variables
		for (i=0; i <= xmlSubGroup.length-1; i++)
				 execXmlVar(TextesSelProj, xmlSubGroup, i, '', ''); 

		// TextesSelDisp
		xmlGroup = xmlGetGroup(xmlDoc, Idioma);
		xmlGroup = xmlGetGroup(xmlGroup[0], "general");
		xmlGroup = xmlGetGroup(xmlGroup[0], "variables");
		xmlGroup = xmlGetGroup(xmlGroup[0], "textesseldisp");
		xmlSubGroup = xmlGetGroup(xmlGroup[0], "linea");
		
		// Llegeixo les Variables
		for (i=0; i <= xmlSubGroup.length-1; i++)
				 execXmlVar(TextesSelDisp, xmlSubGroup, i, '', ''); 

}

function carregaIndex(xmlDoc, condicio)
{
 		var xmlGroup = xmlGetGroup(xmlDoc, Idioma);
		var xmlSubGroup;
		var xmlElement;
		var i=0;
		
		xmlGroup = xmlGetGroup(xmlGroup[0], "index");
		xmlGroup = xmlGetGroup(xmlGroup[0], "cos");
		xmlSubGroup = xmlGetGroup(xmlGroup[0], "linea");
		
		for (i=0; i <= xmlSubGroup.length-1; i++)
				execXmlLinea(xmlSubGroup, i, 'menu', condicio); 
		
		for (i=0; i <= xmlSubGroup.length-1; i++)
				execXmlLinea(xmlSubGroup, i, 'menu', 'general'); 

}			

function carregaSobreLampares(xmlDoc, condicio)
{
 		var xmlGroup = xmlGetGroup(xmlDoc, Idioma);
		var xmlSubGroup;
		var xmlElement;
		var i=0;
		
		xmlGroup = xmlGetGroup(xmlGroup[0], "sobre_lamparas");
		xmlGroup = xmlGetGroup(xmlGroup[0], "cos");
		xmlSubGroup = xmlGetGroup(xmlGroup[0], "linea");
		
		if (condicio != '')
			 for (i=0; i <= xmlSubGroup.length-1; i++)
			 		 execXmlLinea(xmlSubGroup, i, 'menu', condicio);
		else
				for (i=0; i <= xmlSubGroup.length-1; i++)
						execXmlLinea(xmlSubGroup, i, '', ''); 
		
}						

function carregaContactans(xmlDoc, condicio)
{
 		var xmlGroup = xmlGetGroup(xmlDoc, Idioma);
		var xmlSubGroup;
		var xmlElement;
		var i=0;
		
		xmlGroup = xmlGetGroup(xmlGroup[0], "contactans");
		xmlGroup = xmlGetGroup(xmlGroup[0], "cos");
		xmlSubGroup = xmlGetGroup(xmlGroup[0], "linea");
		
		for (i=0; i <= xmlSubGroup.length-1; i++)
				execXmlLinea(xmlSubGroup, i, 'menu', condicio); 
		
		for (i=0; i <= xmlSubGroup.length-1; i++)
				execXmlLinea(xmlSubGroup, i, 'menu', 'general'); 

}			

function carregaDevolucions(xmlDoc, condicio)
{
 		var xmlGroup = xmlGetGroup(xmlDoc, Idioma);
		var xmlSubGroup;
		var xmlElement;
		var i=0;
		
		xmlGroup = xmlGetGroup(xmlGroup[0], "devolucions");
		xmlGroup = xmlGetGroup(xmlGroup[0], "cos");
		xmlSubGroup = xmlGetGroup(xmlGroup[0], "linea");
		
		for (i=0; i <= xmlSubGroup.length-1; i++)
				execXmlLinea(xmlSubGroup, i, 'menu', condicio); 
		
		for (i=0; i <= xmlSubGroup.length-1; i++)
				execXmlLinea(xmlSubGroup, i, 'menu', 'general'); 

}			

function carregaInformacio(xmlDoc, condicio)
{
 		var xmlGroup = xmlGetGroup(xmlDoc, Idioma);
		var xmlSubGroup;
		var xmlElement;
		var i=0;
		
		xmlGroup = xmlGetGroup(xmlGroup[0], "informacio");
		xmlGroup = xmlGetGroup(xmlGroup[0], "cos");
		xmlSubGroup = xmlGetGroup(xmlGroup[0], "linea");
		
		for (i=0; i <= xmlSubGroup.length-1; i++)
				execXmlLinea(xmlSubGroup, i, 'menu', condicio); 
		
		for (i=0; i <= xmlSubGroup.length-1; i++)
				execXmlLinea(xmlSubGroup, i, 'menu', 'general'); 

}			

function getCookie(c_name)
{
if (document.cookie.length>0)
  {
  c_start=document.cookie.indexOf(c_name + "=");
  if (c_start!=-1)
    {
    c_start=c_start + c_name.length+1;
    c_end=document.cookie.indexOf(";",c_start);
    if (c_end==-1) c_end=document.cookie.length;
    return unescape(document.cookie.substring(c_start,c_end));
    }
  }
return "";
}

function setCookie(c_name,value,expiredays)
{
var exdate=new Date();
exdate.setDate(exdate.getDate()+expiredays);
document.cookie=c_name+ "=" +escape(value)+
((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}







