    var MAX_ALCADA_FLASH = 500; // Alçada màxima d'un recurs en Flash

	function Cargo_pag (camp)
	{
		if ((camp.value=="")||(camp.value==0))
		{
	  		alert("Has de seleccionar un element per poder esborrar.");
	 		return false;
		}
		else
		{
			if (confirm("Estàs segur que vols esborrar aquest element?"))
			{
	  			document.forms[0].submit();
	 			return true;
			}
			else return false;
   		}
   		return true;
 	}

	//Funció que carrega de nou el document
	function Reload (link)
	{
		document.location.href=link;
	}
	
	function upValues(lista,pos)
	{
		tam=lista.length;
		marcados=new Array (tam);
		for (i=0;i<tam+1;i++) marcados[i]=0;
		
		if (!Is_Number (pos))
		{
			alert("El camp posició té un valor no numèric.");
			lista.focus();
			return false;
		}
		indice=lista.selectedIndex;	
		while(indice!=-1)
		{
			offset=0;
			
			while (offset<parseInt(pos.value,10))
			{
				if (indice-parseInt(pos.value,10)+offset<0)
				{
					alert("No es pot pujar més aquest nivell.");
					lista.focus();
					return;
				}
				elem_ant_v=lista.options[indice-parseInt(pos.value,10)+offset].value;
				elem_ant_t=lista.options[indice-parseInt(pos.value,10)+offset].text;
				elem_act_v=lista.options[indice].value;
				elem_act_t=lista.options[indice].text;
				
				if (elem_ant_v!=null)	
				{
					lista.options[indice].value=elem_ant_v;
					lista.options[indice].text=elem_ant_t;
					lista.options[indice-parseInt(pos.value,10)+offset].value=elem_act_v;
					lista.options[indice-parseInt(pos.value,10)+offset].text=elem_act_t;
					marcados[indice-parseInt(pos.value,10)+offset]=1;
				}
				else 
				{
					alert("No es pot pujar més aquest nivell.");
					lista.focus();
					return;
				}
				offset++;
			}
			lista.options[indice].selected=false;
			indice=lista.selectedIndex;
		}
		for (i=0;i<tam+1;i++) 
		{
			if (marcados[i]==1)lista.options[i].selected=true;
		}
	}
	function downValues(lista,pos)
	{
		
		tam=lista.length;
		posiciones=new Array(tam);
		for (i=0;i<tam+1;i++) posiciones[i]=0;

		indice=lista.selectedIndex;
		while(indice!=-1)
		{
			posiciones[indice]=1;
			lista.options[indice].selected=false;
			indice=lista.selectedIndex;
		}
		for(i=tam;i>=0;i--)
		{
			offset=0;
			if (posiciones[i]==1)
			{
				while (offset<parseInt(pos.value,10))
				{
					if (i+parseInt(pos.value,10)-offset>=tam)
					{
			 			alert("No es pot baixar més aquest nivell.");
			 			lista.focus();
			 			return;
					}
					elem_pos_v=lista.options[i+parseInt(pos.value,10)-offset].value;
					elem_pos_t=lista.options[i+parseInt(pos.value,10)-offset].text;
					elem_act_v=lista.options[i].value;
					elem_act_t=lista.options[i].text;
					posiciones[i+parseInt(pos.value,10)-offset]=2;
		
					lista.options[i].value=elem_pos_v;
					lista.options[i].text=elem_pos_t;
					lista.options[i+parseInt(pos.value,10)-offset].value=elem_act_v;
					lista.options[i+parseInt(pos.value,10)-offset].text=elem_act_t;
					offset++;
				}
			}
		}
		for (i=0;i<tam+1;i++)
		{
			if (posiciones[i]==2)lista.options[i].selected=true;
		}
	}


	function cargarFecha()
	{
		hoy= new Date();
		anyo=hoy.getYear();
		if ((navigator.appName == "Netscape"))
		{
			if (anyo>=100) { anyo=anyo+1900;}
		}
		
		fecha= new Date(anyo,hoy.getMonth(),hoy.getDate()+15);
		mes = fecha.getMonth() + 1;
		dia= fecha.getDate();
		anyo=fecha.getYear();
		if ((navigator.appName == "Netscape"))
		{
			if (anyo>=100) { anyo=anyo+1900;}
		}
		
		document.forms[0].Anyo.value=anyo;
		if (mes<10) document.forms[0].Mes.value="0"+mes;
		else 	    document.forms[0].Mes.value=mes;
		if (dia<10) document.forms[0].Dia.value="0"+dia;
		else 	    document.forms[0].Dia.value=dia;
	}
	
	function cargarFechaActual()
	{
		hoy= new Date();
		anyo=hoy.getYear();
		if ((navigator.appName == "Netscape"))
		{
			if (anyo>=100) { anyo=anyo+1900;}
		}
		
		fecha= new Date(anyo,hoy.getMonth(),hoy.getDate());
		mes = fecha.getMonth() + 1;
		dia= fecha.getDate();
		anyo=fecha.getYear();
		if ((navigator.appName == "Netscape"))
		{
			if (anyo>=100) { anyo=anyo+1900;}
		}
		
		document.forms[0].Anyo.value=anyo;
		if (mes<10) document.forms[0].Mes.value="0"+mes;
		else 	    document.forms[0].Mes.value=mes;
		if (dia<10) document.forms[0].Dia.value="0"+dia;
		else 	    document.forms[0].Dia.value=dia;
	}

	function cambia_color_layer(color)
	{
		return true;
		if(navigator.appName != "Netscape") 
			Layer2.style.backgroundColor ="#"+color;
    		else 
    			document.Layer1.bgColor ="#"+color;
      		return true;
      	}
      	
	function ComprobarNombre(nombre)
	{
		for (i=0;i<nombre.value.length;i++)
		{	
			if (nombre.value.charAt(i)=='ç') return true;	 
			codi =escape(nombre.value.charAt(i));
			codi=codi.substring(1,codi.length);
			if (codi!="")
			{
				alert("Has introduït un caràcter no permès.");
				nombre.focus();
				return false;
			}
		}
		return true;
	}


	function ComprobarNombre2(nombre)
	{
		for (i=0;i<nombre.value.length;i++)
		{		 
			if (nombre.value.charAt(i)!=" ")
			{
				codi =escape(nombre.value.charAt(i));
				codi=codi.substring(1,codi.length);
				if (codi!="")
				{
					alert("Has introduït un caràcter no permès.");
					nombre.focus();
					return false;
				}
			}
		}
		return true;
	}
	
	function ComprobarNombreUrl(nombre)
	{
		for (i=0;i<nombre.length;i++)
		{	
			caracter=nombre.charAt(i)	 
			if ((caracter==';')||(caracter==',')||(caracter=='à')||(caracter=='è')||
	 		    (caracter=='ì')||(caracter=='ò')||(caracter=='ù')||(caracter=='`')||
	 		    (caracter=='á')||(caracter=='é')||(caracter=='ó')||(caracter=='ú')||
	 		    (caracter=='´')||(caracter=='À')||(caracter=='È')||(caracter=='Ì')||
	 		    (caracter=='Ò')||(caracter=='Ù')||(caracter=='Á')||(caracter=='É')||
	 		    (caracter=='Í')||(caracter=='Ó')||(caracter=='Ú')||(caracter=='¨')||
	 		    (caracter=='ä')||(caracter=='ë')||(caracter=='ï')||(caracter=='ö')||
	 		    (caracter=='ü')||(caracter=='Ä')||(caracter=='Ë')||(caracter=='Ï')||
	 		    (caracter=='Ö')||(caracter=='Ü')||(caracter=='^')||(caracter=='+')||
	 		    (caracter=='*')||(caracter=='{')||(caracter=='}')||(caracter=='(')||
	 		    (caracter==')')||(caracter=='|')||(caracter=='<')||(caracter=='>')||
	 		    (caracter=='\'')||(caracter=='"')||(caracter=='/'))
	 		{
	  			alert("Has introduït un caràcter no permès al Nom url: '"+caracter+"'.");
	 			return false;
	 		}
			codi =escape(caracter);
			codi=codi.substring(1,codi.length);
			if (codi!="")
			{
				alert("Has introduït un caràcter no permès al Nom url: '"+caracter+"'.");
				return false;
			}
		}
		return true;
	}
	
	function comprobarCometes(texto)
	{
		trobat=false;
		nombre=texto.value;
		for (i=0;i<nombre.length;i++)
		{		 
			if (nombre.charAt(i)=='"')
			{
				nombre=nombre.substring(0,i)+"'"+nombre.substring(i+1,nombre.length);
				trobat=true;
			}
		}
		if (trobat)
		{
			if (!confirm("S'han trobat cometes dobles (no permeses), s'han substituït per cometes simples."))
				return false;
		}
		texto.value="";
		texto.value=nombre;
		return true;
	}


	function comprobarUrl (url)
	{
	 	for (i=0;i<url.value.length;i++)
	 	{
	 		caracter=url.value.charAt(i);
	 		if ((caracter==';')||(caracter==',')||(caracter=='à')||(caracter=='è')||
	 		    (caracter=='ì')||(caracter=='ò')||(caracter=='ù')||(caracter=='`')||
	 		    (caracter=='á')||(caracter=='é')||(caracter=='ó')||(caracter=='ú')||
	 		    (caracter=='´')||(caracter=='À')||(caracter=='È')||(caracter=='Ì')||
	 		    (caracter=='Ò')||(caracter=='Ù')||(caracter=='Á')||(caracter=='É')||
	 		    (caracter=='Í')||(caracter=='Ó')||(caracter=='Ú')||(caracter=='¨')||
	 		    (caracter=='ä')||(caracter=='ë')||(caracter=='ï')||(caracter=='ö')||
	 		    (caracter=='ü')||(caracter=='Ä')||(caracter=='Ë')||(caracter=='Ï')||
	 		    (caracter=='Ö')||(caracter=='Ü')||(caracter=='^')||(caracter=='+')||
	 		    (caracter=='*')||(caracter=='{')||(caracter=='}')||(caracter=='(')||
	 		    (caracter==')')||(caracter=='|')||(caracter=='<')||(caracter=='>')||
	 		    (caracter=='\'')||(caracter=='"'))
	 		{
	  			alert("Error a la URL: hi ha caràcters no permesos.");
	 			url.focus();
	 			return false;
	 		}
	 	}
	 	url2=url.value;
	 	url2=url2.substring(0,14);
	 	if (url2=="http://http://")
	 	{
	 		alert("Error a la URL: has posat dues vegades 'http://'.");
	 		url.focus();
	 		return false;
	 	}
	 	if (url.value!="")
	 	{
	 		url2=url.value;
	 		url2=url2.substring(0,7);
	 		url3=url.value;
	 		url3=url3.substring(0,8);
	 		if ((url2!="http://")&&(url3!="https://"))
	 		{
	 			alert("Error a la URL: no has posat 'http://' o 'https://.");
	 			url.focus();
	 			return false;
	 		}
	 	}
	 	return true;
	}
	 	
	function ponerImg (car,camp)
	{
		switch (car)
		{
		case '1': camp.src="/univers/img/nums/n1.gif";
				break;
		case '2': camp.src="/univers/img/nums/n2.gif";
				break;
		case '3': camp.src="/univers/img/nums/n3.gif";
				break;
		case '4': camp.src="/univers/img/nums/n4.gif";
				break;
		case '5': camp.src="/univers/img/nums/n5.gif";
				break;
		case '6': camp.src="/univers/img/nums/n6.gif";
				break;
		case '7': camp.src="/univers/img/nums/n7.gif";
				break;
		case '8': camp.src="/univers/img/nums/n8.gif";
				break;
		case '9': camp.src="/univers/img/nums/n9.gif";
				break;
		case '0': camp.src="/univers/img/nums/n0.gif";
		}
		return true;
	}
	
	function calcCharLeft(camp1,tam,img1,img2)
	{
		ampersand=false;
		euro=false;
		var longitud=camp1.value.length;
		var msg="Has superat el límit de caràcters.";

		camp1.value=formatearAmpersand(camp1);
		if (longitud<camp1.value.length)
		{
			ampersand=true;
			longitud=camp1.value.length;
		}

		camp1.value=formatearEuro(camp1);
		camp1.value=formatearEuro2(camp1);
				
		if (longitud<camp1.value.length)
			euro=true;

		resten=tam-camp1.value.length;
		if (resten>0)
		{
			restenStr=resten.toString();		
			if (resten<10)
				restenStr="0"+resten.toString();
		}
		else 
		{
			if (resten!=0)
			{			
	 			if (ampersand) 
		 			msg=msg+"\nAl camp "+camp1.name+" s'han canviat tots els '&' pel seu codi html '&amp;' per la seva correcta visualització al portal.";
				if (euro)
					msg=msg+"\nAl camp "+camp1.name+" s'han canviat tots els símbols d'euro pel seu codi html '&euro;' per la seva correcta visualització al portal.";
				alert(msg);
	 			return false;
	 		}
	 		restenStr="00";
		}
		ponerImg (restenStr.charAt(0),img1);
		ponerImg (restenStr.charAt(1),img2);
		camp1.focus();
		return false;
	}

	
	function calcCharLeftUnCampo(camp1,tam)
	{
		var msg="";	
		ampersand=false;
		euro=false;
		var longitud=camp1.value.length;
		
		camp1.value=formatearAmpersand(camp1);
		if (longitud<camp1.value.length) 
		{	
			ampersand=true;
			longitud=camp1.value.length;
		}
		
		camp1.value=formatearEuro(camp1);
		camp1.value=formatearEuro2(camp1);
				
		if (longitud<camp1.value.length)
			euro=true;

		resten=tam-camp1.value.length;
		
		if (resten>0)
		{
			restenStr=resten.toString();
			if (resten<100)
				restenStr="0"+resten.toString();
			if (resten<10)
				restenStr="00"+resten.toString();
		}
		else 
		{
			if (resten!=0)
			{	
				resten=-resten;
				if (ampersand) 
		 			msg=msg+"\nAl camp "+camp1.name+" s'han canviat tots els '&' pel seu codi html '&amp;' per la seva correcta visualització al portal.";
				if (euro)
					msg=msg+"\nAl camp "+camp1.name+" s'han canviat tots els símbols d'euro pel seu codi html '&euro;' per la seva correcta visualització al portal.";
				alert("Has superat el límit de caràcters.\nEn sobren "+resten.toString()+"."+msg);
	 		
			}
			restenStr="000";
		}
		ponerImg (restenStr.charAt(0),document.num1);
		ponerImg (restenStr.charAt(1),document.num2);
		ponerImg (restenStr.charAt(2),document.num3);
		camp1.focus();
		return false;
	}

	function calcCharLeftUnCampMil(camp1,tam)
	{
		ampersand=false;
		euro=false;
		var longitud=camp1.value.length;
		var msg="";

		camp1.value=formatearAmpersand(camp1);
		if (longitud<camp1.value.length)
		{
			ampersand=true;
			longitud=camp1.value.length;
		}
		
		camp1.value=formatearEuro(camp1);
		camp1.value=formatearEuro2(camp1);
				
		if (longitud<camp1.value.length)
			euro=true;

		resten=tam-camp1.value.length;
		if (resten>0)
		{
			restenStr=resten.toString();
			if (resten<1000)
				restenStr="0"+resten.toString();
			if (resten<100)
				restenStr="00"+resten.toString();
			if (resten<10)
				restenStr="000"+resten.toString();	
		}
		else 
		{
			if (resten!=0)
			{	
				resten=-resten;
				if (ampersand) 
		 			msg=msg+"\nAl camp "+camp1.name+" s'han canviat tots els '&' pel seu codi html '&amp;' per la seva correcta visualització al portal.";
				if (euro)
					msg=msg+"\nAl camp "+camp1.name+" s'han canviat tots els símbols d'euro pel seu codi html '&euro;' per la seva correcta visualització al portal.";
				alert("Has superat el límit de caràcters.\nEn sobren "+resten.toString()+"."+msg);
			}
			restenStr="0000";
		}
		
		ponerImg (restenStr.charAt(0),document.num1);
		ponerImg (restenStr.charAt(1),document.num2);
		ponerImg (restenStr.charAt(2),document.num3);
		ponerImg (restenStr.charAt(3),document.num4);
		camp1.focus();
		return false;
	}
	
	
	function calcCharLeftUnCampMilNoFoco(camp1,tam)
	{
		var longitud=camp1.value.length;
                resten=tam-camp1.value.length;
		euro=false;
		camp1.value=formatearEuro(camp1);
		camp1.value=formatearEuro2(camp1);

		if (longitud<camp1.value.length)
			euro=true;

		resten=tam-camp1.value.length;

		if (resten>0)
		{
			restenStr=resten.toString();
			if (resten<1000)
				restenStr="0"+resten.toString();
			if (resten<100)
				restenStr="00"+resten.toString();
			if (resten<10)
				restenStr="000"+resten.toString();
		}
		else
		{
  		        if (resten!=0)
			{
				if (euro)
					msg="\nAl camp "+camp1.name+" s'han canviat tots els símbols d'euro pel seu codi html '&euro;' per la seva correcta visualització al portal.";
				alert("Has superat el límit de caràcters.\nEn sobren "+resten.toString()+"."+msg);
	 			return false;
	 		}
			restenStr="0000";
		}

		ponerImg (restenStr.charAt(0),document.num1);
		ponerImg (restenStr.charAt(1),document.num2);
		ponerImg (restenStr.charAt(2),document.num3);
		ponerImg (restenStr.charAt(3),document.num4);
		return false;
	}

	function calcCharLeftConOpc(camp1,tam,opc)
	{
		ampersand=false;
		euro=false;
		var longitud=camp1.value.length;
		var msg="";

		camp1.value=formatearAmpersand(camp1);
		if (longitud<camp1.value.length) 
		{	
			ampersand=true;
			longitud=camp1.value.length;
		}
		
		camp1.value=formatearEuro(camp1);
		camp1.value=formatearEuro2(camp1);
				
		if (longitud<camp1.value.length)
			euro=true;

		resten=tam-camp1.value.length;
		if (resten>0)
		{
			restenStr=resten.toString();
			if (resten<100)
				restenStr="0"+resten.toString();
			if (resten<10)
				restenStr="00"+resten.toString();
		}
		else 
		{
			if (resten!=0)
			{	
				resten=-resten;
				if (ampersand) 
		 			msg=msg+"\nAl camp "+camp1.name+" s'han canviat tots els '&' pel seu codi html '&amp;' per la seva correcta visualització al portal.";
				if (euro)
					msg=msg+"\nAl camp "+camp1.name+" s'han canviat tots els símbols d'euro pel seu codi html '&euro;' per la seva correcta visualització al portal.";
				alert("Has superat el límit de caràcters.\nEn sobren "+resten.toString()+"."+msg);
			}
			restenStr="000";
		}
		if (opc==1)
		{
			ponerImg (restenStr.charAt(0),document.num1);
			ponerImg (restenStr.charAt(1),document.num2);
			ponerImg (restenStr.charAt(2),document.num3);
		}
		else
		{
			ponerImg (restenStr.charAt(0),document.num11);
			ponerImg (restenStr.charAt(1),document.num22);
			ponerImg (restenStr.charAt(2),document.num33);
		}
		camp1.focus();
		return false;
	}
	
	function calcCharLeft4Cifras(camp1,tam,img1,img2,img3,img4)
	{
		ampersand=false;
		euro=false;
		var longitud=camp1.value.length;
		var msg="";
		
		camp1.value=formatearAmpersand(camp1);
		if (longitud<camp1.value.length) 
		{	
			ampersand=true;
			longitud=camp1.value.length;
		}
		
		camp1.value=formatearEuro(camp1);
		camp1.value=formatearEuro2(camp1);
				
		if (longitud<camp1.value.length)
			euro=true;

		resten=tam-camp1.value.length;
		if (resten>0)
		{
			restenStr=resten.toString();
			if (tam>1000)
			{
				if (resten<1000)
					restenStr="0"+resten.toString();
			}
			if (resten<100)
			{
				restenStr="0"+resten.toString();
				if (tam>1000)
					restenStr="00"+resten.toString();
			}
			if (resten<10)
			{
				restenStr="00"+resten.toString();
				if(tam>1000)
					restenStr="000"+resten.toString();
			}
		}
		else 
		{
			if (resten!=0)
			{	
				resten=-resten;
				if (ampersand) 
		 			msg=msg+"\nAl camp "+camp1.name+" s'han canviat tots els '&' pel seu codi html '&amp;' per la seva correcta visualització al portal.";
				if (euro)
					msg=msg+"\nAl camp "+camp1.name+" s'han canviat tots els símbols d'euro pel seu codi html '&euro;' per la seva correcta visualització al portal.";
				alert("Has superat el límit de caràcters.\nEn sobren "+resten.toString()+"."+msg);
			}
			restenStr="000";
			if (tam>1000)
				restenStr="0000";
		}
		ponerImg (restenStr.charAt(0),img1);
		ponerImg (restenStr.charAt(1),img2);
		ponerImg (restenStr.charAt(2),img3);
		if (tam>1000)
			ponerImg (restenStr.charAt(3),img4);
		camp1.focus();
		return false;
	}
	
	function calcCharLeft3Cifras(camp1,tam,img1,img2,img3)
	{
		ampersand=false;
		euro=false;
		var longitud=camp1.value.length;
		var msg="";
		
		camp1.value=formatearAmpersand(camp1);
		if (longitud<camp1.value.length) 
		{	
			ampersand=true;
			longitud=camp1.value.length;
		}
		
		camp1.value=formatearEuro(camp1);
		camp1.value=formatearEuro2(camp1);

		resten=tam-camp1.value.length;
		if (resten>0)
		{
			restenStr=resten.toString();
			if (resten<100)
				restenStr="0"+resten.toString();
			if (resten<10)
				restenStr="00"+resten.toString();
		}
		else 
		{
			if (resten!=0)
			{	
				resten=-resten;
				if (ampersand) 
		 			msg=msg+"\nAl camp "+camp1.name+" s'han canviat tots els '&' pel seu codi html '&amp;' per la seva correcta visualització al portal.";
				if (euro)
					msg=msg+"\nAl camp "+camp1.name+" s'han canviat tots els símbols d'euro pel seu codi html '&euro;' per la seva correcta visualització al portal.";
				alert("Has superat el límit de caràcters.\nEn sobren "+resten.toString()+"."+msg);
			}
			restenStr="000";
		}
		ponerImg (restenStr.charAt(0),img1);
		ponerImg (restenStr.charAt(1),img2);
		ponerImg (restenStr.charAt(2),img3);
		camp1.focus();
		return false;
	}
				
	//funció que mira que la longitud del camp sigui correcta
	function Longitud_Ok (camp,tam,msg)
	{
		if (camp.value.length<tam)
	  	{
	   		alert(msg);
	   		camp.focus();
	   		return false;
	  	}
	  	return true;
	}
	//funció que comproba si el camp es un numéric vàlid
	function Is_Number (camp)
	{
	 	if (isNaN(parseInt(camp.value,10)))
	 	{
	 		s="El camp "+camp.name+" conté caràcters no numèrics.";
	 		alert(s);
	 		camp.focus();
	 		return false;
	 	}
	 	//camp.value=parseInt(camp.value,10);
	 	return true;
	}
		
	//Funcio que comproba si el contingut d'un camp de tipus str es null
	//i mostra el missatge d'error corresponent
	function StrCampNull(camp,msg)
	{
		if(camp.value=="")
	 	{
	 		alert(msg);
	 		camp.focus();
	 		return false;
	 	}
	 	return true;
	}
 	//Funcio que comproba la longitud d'un camp
	function StrCampLength(camp,maxim_camp,msg)
	{
		ampersand=false;
		euro=false;
		tam=camp.value.length;

		camp.value=formatearAmpersand(camp);
		if (tam<camp.value.length)
		{
			ampersand=true;
			tam=camp.value.length;
		}

		camp.value=formatearEuro(camp);
		camp.value=formatearEuro2(camp);
				
		if (tam<camp.value.length)
			euro=true;

	 	if(camp.value.length>maxim_camp)
	 	{
	 		if (ampersand) 
	 			msg=msg+"\nAl camp "+camp.name+" s'han canviat tots els '&' pel seu codi html '&amp;' per la seva correcta visualització al portal.";
			if (euro)
				msg=msg+"\nAl camp "+camp.name+" s'han canviat tots els símbols d'euro pel seu codi html '&euro;' per la seva correcta visualització al portal.";
			alert(msg);
			camp.focus();
	 		return false;
	 	}
	 	return true;
	}
	
	 	//Funcio que comproba la longitud d'un camp
	function StrCampLength2(camp,maxim_camp,msg)
	{
		ampersand=false;
		euro=false;
		tam=camp.length;

		camp=formatearAmpersand2(camp);
		if (tam<camp.length)
		{
			ampersand=true;
			tam=camp.length;
		}

		camp=formatearEuroBis(camp);
		camp=formatearEuro2Bis(camp);
				
		if (tam<camp.length)
			euro=true;

	 	if(camp.length>maxim_camp)
	 	{
	 		if (ampersand) 
	 			msg=msg+"\nAl camp "+camp+" s'han canviat tots els '&' pel seu codi html '&amp;' per la seva correcta visualització al portal.";
			if (euro)
				msg=msg+"\nAl camp "+camp+" s'han canviat tots els símbols d'euro pel seu codi html '&euro;' per la seva correcta visualització al portal.";
			alert(msg);
//			camp.focus();
	 		return false;
	 	}
	 	return true;
	}
	
	
	//Funcio que comproba la longitud d'un camp
	function StrCampLengthHtml(camp,maxim_camp,msg)
	{   
		euro=false;
		tam=camp.length;
        camp=formatearEuro(camp);
		camp=formatearEuro2(camp);

		if (tam<camp.length)
			euro=true;

	 	if(camp.length>maxim_camp)
	 	{
	 		if (euro)
				msg=msg+"\nAl camp "+camp.name+" s'han canviat tots els símbols d'euro pel seu codi html '&euro;' per la seva correcta visualització al portal.";
			alert(msg);
	 		return false;
	 	}
	 	return true;
	}

	//funció que mira que el dia tingui el rang adequat
	function Dia_Ok (dia, max_dia)
	{
		if((parseInt(dia.value,10)<=max_dia)&&(parseInt(dia.value,10)>=1))
		{
		 	return true;
		}
		alert("El dia ha d'estar entre 1 i "+max_dia);
		dia.focus();
		return false;
	}

	//funció que mira si la data de caducitat és nula
	function Data_Nula (dia,mes,anyo)
	{
		if(!StrCampNull(dia,"Has d'introduir el dia de la data."))
		{
			return false;
		}
		if(!StrCampNull(mes,"Has d'introduir el mes de la data."))
	 	{
	  		return false;
		}
		if(!StrCampNull(anyo,"Has d'introduir l'any de la data."))
	 	{
	  		return false;
	 	}
	  	return true;
	}
	
	//funció que comproba si la data de caducitat és correcta
	function Data_Ok (dia,mes,anyo)
	{
		//miro si la data no es nulla
		if(!Data_Nula(dia,mes,anyo))
		{return false;}
		//comprobo les longituds
	 	if (!Longitud_Ok(dia,2, "El dia ha de tenir el format dd."))
	 	{return false;}
	 	if(!Longitud_Ok(mes,2, "El mes ha de tenir el format mm."))
 	 	{return false;}
	 	if(!Longitud_Ok(anyo,4, "L'any ha de tenir el format yyyy."))
 	 	{return false;}
		//comprobo si es un número correcte
	 	if (!Is_Number(dia)){return false;}
		if (!Is_Number(mes)){return false;}
 	 	if (!Is_Number(anyo)){return false;}
	 	//miro que l'any sigui més gran que l'actual
	 	fecha= new Date();
		anyoact= fecha.getFullYear();
	 	if (parseInt(anyo.value,10)<anyoact)
		{
			alert("L'any és menor que l'actual.");
	  		anyo.focus();
	  		return false;
		}
		//comprobar que els dies siguin 30 o 31 correctament i el mes correcte
	 	mes_number=parseInt(mes.value, 10);
	 	if ((mes_number<=12)&&(mes_number>=1))
	 	{
			if((mes_number==1)||(mes_number==3)||(mes_number==5)||(mes_number==7)||
	  		(mes_number==8)||(mes_number==10)||(mes_number==12))
	  		{
	   			if(!Dia_Ok(dia,31)){return false;}
	  		}
			if ((mes_number==4)||(mes_number==6)||(mes_number==9)||(mes_number==11))
	  		{
	   			if(!Dia_Ok(dia,30)){return false;}
	  		}
	  		//si és un anyo bisiesto i el més és febrer poden haver 29 dies
	  		if (mes_number==2)
	  		{
	  			if((parseInt(anyo.value,10)%4)==0)
				{
	   	 			if(!Dia_Ok(dia,29)){return false;}
				}
	   			else
	   			{
	   	   			if(!Dia_Ok(dia,28)){return false;}
	   			}
	  		}
	 	}
	 	else
	 	{
	  		alert("El mes ha d'estar entre 1 i 12.");
	  		mes.focus();
	  		return false;
		}
	 	//miro que la data_caducitat sigui major que la data_actual
	 	if(!Data_Major(dia,mes,anyo)){return false;}
	 	return true;
	}    
	
	//funció que comproba si la data de caducitat és correcta
	function Data_Ok_2 (dia,mes,anyo,data)
	{
		//miro si la data no es nulla
		if(!Data_Nula(dia,mes,anyo))
		{return false;}
		//comprobo les longituds
	 	if (!Longitud_Ok(dia,2, "El dia ha de tenir el format dd."))
	 	{return false;}
	 	if(!Longitud_Ok(mes,2, "El mes ha de tenir el format mm."))
 	 	{return false;}
	 	if(!Longitud_Ok(anyo,4, "L'any ha de tenir el format yyyy."))
 	 	{return false;}
		//comprobo si es un número correcte
	 	if (!Is_Number(dia)){return false;}
		if (!Is_Number(mes)){return false;}
 	 	if (!Is_Number(anyo)){return false;}
	 	//miro que l'any sigui més gran que l'actual
	 	fecha= new Date();
		anyoact= fecha.getFullYear();
	 	if (parseInt(anyo.value,10)<anyoact)
		{
			alert("L'any és menor que l'actual.");
	  		anyo.focus();
	  		return false;
		}
		//comprobar que els dies siguin 30 o 31 correctament i el mes correcte
	 	mes_number=parseInt(mes.value, 10);
	 	if ((mes_number<=12)&&(mes_number>=1))
	 	{
			if((mes_number==1)||(mes_number==3)||(mes_number==5)||(mes_number==7)||
	  		(mes_number==8)||(mes_number==10)||(mes_number==12))
	  		{
	   			if(!Dia_Ok(dia,31)){return false;}
	  		}
			if ((mes_number==4)||(mes_number==6)||(mes_number==9)||(mes_number==11))
	  		{
	   			if(!Dia_Ok(dia,30)){return false;}
	  		}
	  		//si és un anyo bisiesto i el més és febrer poden haver 29 dies
	  		if (mes_number==2)
	  		{
	  			if((parseInt(anyo.value,10)%4)==0)
				{
	   	 			if(!Dia_Ok(dia,29)){return false;}
				}
	   			else
	   			{
	   	   			if(!Dia_Ok(dia,28)){return false;}
	   			}
	  		}
	 	}
	 	else
	 	{
	  		alert("El mes ha d'estar entre 1 i 12.");
	  		mes.focus();
	  		return false;
		}
	 	return true;
	}    
	
	
        //funció que comproba si la data de caducitat és correcta
	function Data_Ok_NoCaduc (dia,mes,anyo)
	{
		//miro si la data no es nulla
		if(!Data_Nula(dia,mes,anyo))
		{return false;}
		//comprobo les longituds
	 	if (!Longitud_Ok(dia,2, "El dia ha de tenir el format dd."))
	 	{return false;}
	 	if(!Longitud_Ok(mes,2, "El mes ha de tenir el format mm."))
 	 	{return false;}
	 	if(!Longitud_Ok(anyo,4, "L'any ha de tenir el format yyyy."))
 	 	{return false;}
		//comprobo si es un número correcte
	 	if (!Is_Number(dia)){return false;}
		if (!Is_Number(mes)){return false;}
 	 	if (!Is_Number(anyo)){return false;}
	 	//miro que l'any sigui més igual o menor que l'actual
	 	fecha= new Date();
		anyoact= fecha.getFullYear();
	 	if (parseInt(anyo.value,10)>anyoact)
		{
			alert("L'any és major que l'actual.");
	  		anyo.focus();
	  		return false;
		}
		//comprobar que els dies siguin 30 o 31 correctament i el mes correcte
	 	mes_number=parseInt(mes.value, 10);
	 	if ((mes_number<=12)&&(mes_number>=1))
	 	{
			if((mes_number==1)||(mes_number==3)||(mes_number==5)||(mes_number==7)||
	  		(mes_number==8)||(mes_number==10)||(mes_number==12))
	  		{
	   			if(!Dia_Ok(dia,31)){return false;}
	  		}
			if ((mes_number==4)||(mes_number==6)||(mes_number==9)||(mes_number==11))
	  		{
	   			if(!Dia_Ok(dia,30)){return false;}
	  		}
	  		//si és un anyo bisiesto i el més és febrer poden haver 29 dies
	  		if (mes_number==2)
	  		{
	  			if((parseInt(anyo.value,10)%4)==0)
				{
	   	 			if(!Dia_Ok(dia,29)){return false;}
				}
	   			else
	   			{
	   	   			if(!Dia_Ok(dia,28)){return false;}
	   			}
	  		}
	 	}
	 	else
	 	{
	  		alert("El mes ha d'estar entre 1 i 12.");
	  		mes.focus();
	  		return false;
		}
	 	return true;
	}

	//funcio que comproba si la data_caducitat es major que la data_actual
	function Data_Major(dia,mes,anyo)
	{
		fecha_act= new Date();
	 	fecha_cad= new Date();
		fecha_cad.setDate(parseInt(dia.value,10));
		fecha_cad.setMonth(parseInt(mes.value,10)-1);
	 	fecha_cad.setYear(parseInt(anyo.value,10));
	 	if (fecha_act>fecha_cad)
	 	{
			alert("La data inserida no pot ser inferior a l'actual.");
	  		dia.focus();
	  		return false;
	 	}
	 	return true;
	 }
	 
	function Hora_Ok(hora,min)
	{
		if ((hora.value=="")||(min.value=="")) return true;
		h=parseInt(hora.value,10);
		m=parseInt(min.value,10);
		if ((h>23)||(h<0))
		{
			alert("L'hora ha d'estar entre 00 i 23 (format 24 hores). Si us plau insereix una hora correcta.");
			hora.focus();
			return false;
		}
		if ((m>59)||(m<0))
		{
			alert("Els minuts van des de 00 a 59. Si us plau insereix els minuts amb un valor correcte.");
			min.focus();
			return false;
		}
		if (hora.value=="")
		{
			hora.focus();
			alert("No has inserit l'hora. Introdueix una hora entre 00 i 23.");
			return false;
		}
		if (min.value=="")
		{
			min.focus();
			alert("No has inserit els minuts. Introdueix el seu valor entre 00 i 60.");
			return false;
		}
		return true;
	}
	 
	 
	//<!-- Comprova si hi ha espais intermitjos a les cadenes de text que componen el camp email -->
        function BrokenWord(cwrd)
        {
        	for(var i=1;i<=cwrd.length;++i)
                {
                	if(cwrd[i]==" ")
                        {
                        	return(1);
                        }
		}
                return(0);
        }
        function CheckEmail()
        {
        	Aux1="";
                Aux2="";
                for(var i=0;i<document.forms[0].Email.value.length;++i)
                {
                	if(document.forms[0].Email.value.charAt(i)=='@')
                        {
                        	result=1;
                                Aux1=document.forms[0].Email.value.substring(0,i);
                                Aux2=document.forms[0].Email.value.substring(i+1,document.forms[0].Email.value.length);
                                if((1==BrokenWord(Aux1)) || (1==BrokenWord(Aux2)) || (Aux2.length==0))
                                {
                                	result=0;
                                }
                        	return(result);
                 	}
		}
             	document.forms[0].Email.focus();
                return(0);
	}
	
	
	//----------------------------------------------------------
	//-- FUNCION PARA ABRIR UNA NUEVA VENTANA
	//----------------------------------------------------
	function AbrirNuevo(pagina,titulo,Xpos,Ypos,tipo)
	{
		//-- pagina: URL de la pagina a obrir
		//-- titulo: nom de la finestra
		//-- x: dimensio X de la finestra
		//-- y: dimensio Y de la finestra
		//-- tipo: 0 = finestra de desenvolupament de contingut, llistat de altres noticies, avisos, ranking, etc...
		//--       1 = finestra de cerca, continguts externs al portal mitjançant URL, etc...
		//--       2 = help
		cx = (screen.width/2);
		cy = (screen.height/2);
		Xoff=(Xpos/2);
		Yoff=(Ypos/2);
		nx=cx-Xoff;
		ny=cy-Yoff;
	   	if(navigator.appName=='Netscape')
	   	{
	      		if(tipo==0)
   		  		win=window.open(pagina,titulo,'height='+Ypos+',width='+Xpos+',ScreenX='+nx+',ScreenY='+ny+',scrollbars=yes,menubar=no,toolbar=no,resizable=no,location=no,status=no');
   		  	else
   		  	 	if (tipo==1)
   		  			win=window.open(pagina,titulo,'height='+Ypos+',width='+Xpos+',ScreenX='+nx+',ScreenY='+ny+',scrollbars=yes,menubar=yes,toolbar=yes,resizable=yes,location=yes,status=yes');
   		  		else
   		  			win=window.open(pagina,titulo,'height='+Ypos+',width='+Xpos+',ScreenX='+nx+',ScreenY='+ny+',scrollbars=yes,menubar=no,toolbar=no,resizable=yes,location=no,status=no');
   		}
	   	else
	   	{
	      		if(tipo==0)
   		 		win=window.open(pagina,titulo,'height='+Ypos+',width='+Xpos+',scrollbars=yes,menubar=no,toolbar=no,resizable=no,location=no,status=no');
   		  	else
   		  		if (tipo==1)
   		  			win=window.open(pagina,titulo,'height='+Ypos+',width='+Xpos+',scrollbars=yes,menubar=yes,toolbar=yes,resizable=yes,location=yes,status=yes');
   		  		else
   		  			win=window.open(pagina,titulo,'height='+Ypos+',width='+Xpos+',scrollbars=yes,menubar=no,toolbar=no,resizable=yes,location=no,status=no');
   		}
	}
	
	function ensenya(def, posX, posY) {
  		if (document.layers) {
   			//Codi Netscape
     			document.layers[def].visibility="Show"
     			document.layers[def].top=posY;
     			document.layers[def].left=posX;}
  		else {
     			//Codi Explorer
     			document.all[def].style.visibility="visible";
     			var y=0;
     			var x=0;
     			var el=event.srcElement;
     			while (el!=null) {
       				y += el.offsetTop;
       				x += el.offsetLeft;
       				el=el.offsetParent;
      			}
     			document.all[def].style.pixelTop=y+100;
     			document.all[def].style.pixelLeft=x;
		}
	}
 	function amaga(def) {
  		if (document.layers) {
   			//Codi Netscape
     			document.layers[def].visibility="hide";}
  		else {
    			document.all[def].style.visibility="hidden";}
    	}
    	
    	function BorrarEina(nom_eina,check)
	{
		if (confirm("Estàs segur que vols amagar l'eina?"))
			nom_eina.value="";
		else
			check.checked=false;
		return true;
	}
	
	function CombosIguales (combos,longitud,eina,nom_eina)
	{
		for(i=0;i<longitud;i++)
		{
			for(j=i+1;j<longitud;j++)
			{
				if((combos[i].options[combos[i].selectedIndex].value==combos[j].options[combos[j].selectedIndex].value)&&(combos[i].options[combos[i].selectedIndex].value!=""))
				{
					alert("No pots recuperar la mateixa eina dos cops");
					combos[i].focus();
					return false;
				}
			}
			for (j=0;j<longitud;j++)
			{
				
				if ((combos[i].options[combos[i].selectedIndex].value==eina[j].value)&&(combos[i].options[combos[i].selectedIndex].value!=""))
				{
					if (nom_eina[j].value!="")
					{
						alert("Tens dues eines repetides");
						combos[i].focus();
						return false;
					}
				}
			}
		}
		return true;
	}
	function StrNomNull (camp,msg, msg2,camp2)
	{
		if (camp.value!="")
		{
			if (camp2.options[camp2.selectedIndex].value=="")
			{
				alert (msg);
				camp2.focus();
				return false;
			}
		}
		else
		{
			if(camp2.options[camp2.selectedIndex].value!="")
			{
				alert(msg2);
				camp.focus();
				return false;
			}
		}
		return true;
	}


 	function Comprobar_Es_Html (fitxer)
	{
		if(fitxer != null){
			if(fitxer!="")
		 	{		 		
		 		var array = fitxer.split(".");
				extension=array[array.length-1];
				extension=extension.toLowerCase();
		  		if (!extension.match("htm") && !extension.match("html")){
		    		alert ("La imatge no té extensió .htm o .html");
					return false;
		     	}
	     	}
		}
		return true;
	 }



	function Comprobar_Es_Imagen (fitxer,fitxer2)
	{  
		if (fitxer != null){
				if(fitxer.value!="")
			 	{
					extension=fitxer.value.substring(fitxer.value.lastIndexOf('.'),fitxer.value.length);
					extension=extension.toLowerCase();
					
			  		if (!extension.match(/^\.(gif|jpg|png|jpeg|bmp)$/i)) {
			    			alert ("L'arxiu que vols pujar (amb extensió "+extension.toLowerCase()+") no és una imatge\n[ gif | jpg | png | jpeg | bmp ]");
						fitxer.focus();
						return false;
			     		}
			     		else
			     			fitxer2.value=extension;
		
				}
				else fitxer2.value="";
				//alert("No hi ha fitxer.");
				return true;
		}
		return true
	 }

	function Comprobar_Es_Imagen2 (fitxer)
	{
		if(fitxer != null){
			if(fitxer.value!="")
		 	{
		 		var array = fitxer.value.split(".");
				extension=array[array.length-1];
				extension=extension.toUpperCase();
		  		if ((extension != "GIF") && (extension != "JPG") && (extension != "SWF"))
		  		{
		    		alert ("La imatge no té extensió .jpg, .gif o .swf");
					fitxer.focus();
					return false;
		     	}
		     	
	//	     	else
	//	     		alert("La imatge té una extensió correcta");
	
			}
		}
		return true;
	 }
	 
	 
	/** fitxer     : Indica la ruta del fitxer que es comprovarà.
	  * fitxer2    : Si es determina que 'fitxer' és imatge o Flash, 
	  *              aleshores a 'fitxer2' es guardarà la seva extensió.
	  * alcadaFlash: Indica l'alçada del Flash (si 'fitxer' és un Flash). 
	  *
	  * Retorna cert si determina que el 'fitxer' és una imatge o un Flash; quan és un Flash, 
	  * es comprova que l'alcadaFlash sigui vàlida. A més, a 'fitxer2' es guarda l'extensió de 'fitxer'.
	  * Altrament, mostra un missatge d'error (excepte quan 'fitxer2' és buit) i retorna fals. 
	  */
	function Comprobar_Es_Imagen_O_Flash (fitxer,fitxer2,alcadaFlash)
	{  
		if (fitxer != null){
				if(fitxer.value!="")
			 	{
					extension=fitxer.value.substring(fitxer.value.lastIndexOf('.'),fitxer.value.length);
					extension=extension.toLowerCase();
					
			  		if (!extension.match(/^\.(gif|jpg|png|jpeg|bmp|swf)$/i)) {
			    			alert ("L'arxiu que vols pujar (amb extensió "+extension.toLowerCase()+") no és una imatge\n[ gif | jpg | png | jpeg | bmp ] ni un Flash [ swf ]");
						fitxer.focus();
						return false;
			     	}
			     	else if (extension.match(/^\.(swf)$/i)){
			     		if (!ComprobarAlturaOk(alcadaFlash)) return false;
				     	else
				     		fitxer2.value=extension;
			     	}
			     	else
			     		fitxer2.value=extension;
				}
				else fitxer2.value="";
				//alert("No hi ha fitxer.");
				return true;
		}
		return true
	 }
	 
	 /** Retorna cert si l'alçada del Flash no és buida i és un nombre natural 
	   * comprès entre 1 i MAX_ALCADA_FLASH.
	   * Altrament, mostra un missatge d'error i retorna fals. 
	   */
     function ComprobarAlturaOk (alcadaFlash)
     {
         if (alcadaFlash == null || alcadaFlash.value == "")
         {
             alert ("El Flash requereix un valor per a l'alçada en píxels.");
             alcadaFlash.focus();
             return false;
         }
         else if (!(/^[1-9][0-9]*$/.test(alcadaFlash.value))) 
         {
             alert("L'alçada del Flash no és correcta.\nHas d'entrar un número natural (1 o superior).");
             alcadaFlash.focus();
             return false;
         }
         else if (alcadaFlash.value > MAX_ALCADA_FLASH){
             alert("L'alçada del Flash no és correcta.\nEl valor màxim permès és de " + MAX_ALCADA_FLASH + " píxels.");
             alcadaFlash.focus();
             return false;
         }
         else return true;
     }

	function esFlash (fitxer)
	{  
		if (fitxer != null){
			if(fitxer.value!="")
		 	{
				extension=fitxer.value.substring(fitxer.value.lastIndexOf('.'),fitxer.value.length);
				extension=extension.toLowerCase();
				
				if (extension.match(/^\.(swf)$/i)){
					return true;
				}
		     	else 
		     		return false;
			}
			else 
				return false;
		}
		return false;
	 }


	function getHex(form)
	{
		// All code and imagery is copyright (c) 1996, In+Sync Imaging, Inc.
		// Author - Brandon Holbrook/Martin Koistinen of In+Sync Imaging, Inc.
		var c="0123456789abcdef";
		if ((form.red.value >255) || (form.green.value > 255) || (form.blue.value > 255))
		{
			window.alert("Els valors RGB van de 0 a 255.")
			forum.red.focus();
		}
		else
		{
			if (!Is_Number (form.red)) return false;
			if (!Is_Number (form.green)) return false;
			if (!Is_Number (form.blue)) return false;
			red=form.red.value;
			green=form.green.value;
			blue=form.blue.value;
			with (Math) 
			{
				numOne=c.substring(floor(red/16),floor(red/16)+1);
				numTwo=c.substring(red%16,(red%16)+1);
				numThree=c.substring(floor(green/16),floor(green/16)+1);
				numFour=c.substring(green%16,(green%16)+1);
				numFive=c.substring(floor(blue/16),floor(blue/16)+1);
				numSix=c.substring(blue%16,(blue%16)+1);	
			}                    	
			colhex="#"+numOne+""+numTwo+""+numThree+""+numFour+""+numFive+""+numSix;
			canvi();
		}
	}
	
	function canvi()
	{
		document.getElementById("Layer2").style.backgroundColor=colhex;
	}
	
	function Comprobar_fechaFinAct(Dia,Mes,Anyo,DiaF,MesF,AnyoF)
	{
		if ((DiaF.value=="")&&(MesF.value=="")&&(AnyoF.value==""))
	    	{
	    		if (confirm ("No has introduït la data de finalització, s'assumeix que és la mateixa que la data d'inici de l'activitat.\nVols continuar?"))
	    		{
	    			DiaF.value=Dia.value;
	    			MesF.value=Mes.value;
	    			AnyoF.value=Anyo.value;
	    			return true;
	    		}
	    		else
	    		{
	    			DiaF.focus();
	    			return false;
	    		}
		}
		else
		{
			if(!Data_Ok(DiaF,MesF,AnyoF))
	    	  		return false;
	    	  	if(!Data_Major2 (Dia,Mes,Anyo,DiaF,MesF,AnyoF))
	    	  		return false;
		}
		return true;
	}
			
	
	//funcio que comproba si la data_caducitat es major que la d'inici
	function Data_Major2(dia,mes,anyo,diaF,mesF,anyoF)
	{
		fecha_ini= new Date();
		fecha_ini.setDate(parseInt(dia,10));
		fecha_ini.setMonth(parseInt(mes,10)-1);
	 	fecha_ini.setYear(parseInt(anyo,10));

	 	fecha_fin= new Date();
		fecha_fin.setDate(parseInt(diaF,10));
		fecha_fin.setMonth(parseInt(mesF,10)-1);
	 	fecha_fin.setYear(parseInt(anyoF,10));
	 	
	 	if (fecha_ini>fecha_fin)
	 	{
			alert("La data de finalització no pot ser inferior a la d'inici.");
	  		diaF.focus();
	  		return false;
	 	}
	 	return true;
	 }
	
	
	function QuickFind(texto,combo)	
	{
		var j=texto.value.length;
		if(j>0)
		{
			for(i=0;i<combo.options.length;++i)
			{	
				index=0;
				saltar=true;
				while (saltar)
				{
					caracter=combo.options[i].text.substring(index,index+1);
					if ((escape(caracter)=="%A0")||(caracter=='|')||
					    (caracter=='_')||(caracter==' '))
						index++;
					else saltar=false;
				}
				temp=combo.options[i].text.substring(index,index+j);
				if(texto.value==temp.toLowerCase())
				{
					if(combo.selectedIndex!=i)
					{
						if(combo.selectedIndex>=0)
						{
							combo.options[combo.selectedIndex].selected=false;
						}
						combo.options[i].selected=true;				
					}
					combo.focus();
					texto.focus();
					return false;
				}
			}	
		}
		return false;
	}
	
	
	function formatearEuro(campo)
	{
		var res="";
		var longitud=campo.value.length;
		i=0;
      		while (i<longitud)
      		{
        		i=campo.value.indexOf('€');
        		if (i!=-1)
        		{
          			res=res+campo.value.substring(0,i);
          			campo.value=campo.value.substring(i+1);
          			res=res+"&euro;";
        		}
        		else
          		i=longitud;
      		}
      		res=res+campo.value;
		return res;
        }
	function formatearEuro2(campo)
	{
		var res="";
		var longitud=campo.value.length;
		i=0;
      		while (i<longitud)
      		{
        		i=campo.value.indexOf("#8364");
        		if (i!=-1)
        		{
          			res=res+campo.value.substring(0,i);
          			campo.value=campo.value.substring(i+1);
          			res=res+"&euro;";
        		}
        		else
          		i=longitud;
      		}
      		res=res+campo.value;
		return res;
       }
       
       function formatearEuroBis(campo)
	{
		var res="";
		var longitud=campo.length;
		i=0;
      		while (i<longitud)
      		{
        		i=campo.indexOf('€');
        		if (i!=-1)
        		{
          			res=res+campo.substring(0,i);
          			campo=campo.substring(i+1);
          			res=res+"&euro;";
        		}
        		else
          		i=longitud;
      		}
      		res=res+campo;
		return res;
        }
	function formatearEuro2Bis(campo)
	{
		var res="";
		var longitud=campo.length;
		i=0;
      		while (i<longitud)
      		{
        		i=campo.indexOf("#8364");
        		if (i!=-1)
        		{
          			res=res+campo.substring(0,i);
          			campo=campo.substring(i+1);
          			res=res+"&euro;";
        		}
        		else
          		i=longitud;
      		}
      		res=res+campo;
		return res;
       }
       
       function formatearAmpersand(campo)
	{
		var res="";
		var longitud=campo.value.length;
		i=0;
      		while (i<longitud)
      		{
        		i=campo.value.indexOf('&');
        		if (i!=-1)
        		{
        			if((campo.value.substring(i+1,i+2)!='#')&&
        			   (campo.value.substring(i+1,i+6)!="euro;"))
        			{
          				res=res+campo.value.substring(0,i);
          				campo.value=campo.value.substring(i+1);
          				res=res+"&amp;";
          			}
          			else
          			{
          				res=res+campo.value.substring(0,i+1);
          				campo.value=campo.value.substring(i+1);
          			}
        		}
        		else
          		i=longitud;
      		}
      		res=res+campo.value;
		return res;
       }
       
       function formatearAmpersand2(campo)
		{
			var res="";
			var longitud=campo.length;
			i=0;
      		while (i<longitud)
      		{
        		i=campo.indexOf('&');
        		if (i!=-1)
        		{
        			if((campo.substring(i+1,i+2)!='#')&&
        			   (campo.substring(i+1,i+6)!="euro;"))
        			{
          				res=res+campo.substring(0,i);
          				campo=campo.substring(i+1);
          				res=res+"&amp;";
          			}
          			else
          			{
          				res=res+campo.substring(0,i+1);
          				campo=campo.substring(i+1);
          			}
        		}
        		else
          		i=longitud;
      		}
      		res=res+campo;
		return res;
       }
       
        function replace_car (campo,car_canvi)
	{
		fin="";
                aux=campo.value;
                acabar=false;
               	while (!acabar)
		{
		      i=aux.indexOf(car_canvi)
  		      if (i!=-1)
		      {
			fin+=aux.substring(0,i)+"'";
                        aux=aux.substring(i+1,aux.length);
                        if (aux.length==0) acabar=true;
	       	      }
	       	      else
	       	      {
	                     acabar=true;
                             fin+=aux;
                      }
                }
         	return fin;
	 }
	function ComprobarNumero(campo)
	{
		for (i=0;i<campo.value.length;i++)
		{
		    valor=campo.value.charAt(i);
		    if ((valor!=1)&&(valor!=2)&&
		       (valor!=3)&&(valor!=4)&&
		       (valor!=5)&&(valor!=6)&&
		       (valor!=7)&&(valor!=8)&&
		       (valor!=9)&&(valor!=0))
  		    {
			alert("Has introduït un caràcter no permès.");
			campo.focus();
			return false;
		    }
		}
		return true;
	}

	/* 
	Funcio que donat un contenidor <input type="text" /> identificat per idContenidorText compta els caracters i posa el 
	resultat al camp amb id='comptador_' + nom del contenidor del input text
	Si el numero de caracters sobrepassa la xifra "maxCaracters", posa l'estil "overflow" al camp
	*/
	function actualitzaComptador (idContenidorText, maxCaracters)
	{
		var obj = document.getElementById ( idContenidorText );
		var objCompt = document.getElementById ( 'comptador_' + idContenidorText );
		if ( (obj) && (objCompt) )
		{
			objCompt.value = obj.value.length;
			if (objCompt.value > parseInt(maxCaracters)) {
				objCompt.className = "overflow";
			}
		}
	}
	
	
	/*
	De moment no la fem servir per què podem passar-nos dels bytes permesos pels VARCHAR2 (4000 bytes)	
	*/
	function getClearText (str){
			str = str.replace( /<[^<|>]+?>/gi,'');
			str = str.replace( /&agrave/gi,'');
			str = str.replace( /&aacute/gi,'');
			str = str.replace( /&egrave/gi,'');
			str = str.replace( /&eacute/gi,'');
			str = str.replace( /&igrave/gi,'');
			str = str.replace( /&iacute/gi,'');
			str = str.replace( /&ograve/gi,'');
			str = str.replace( /&oacute/gi,'');
			str = str.replace( /&ugrave/gi,'');
			str = str.replace( /&uacute/gi,'');
			str = str.replace( /&acirc/gi,'');
			str = str.replace( /&ccedil/gi,'');
			str = str.replace( /&iquest/gi,'');
			str = str.replace( /&iexcl/gi,'');
			str = str.replace( /&#39/gi,'');
			str = str.replace( /&amp/gi,'');
			str = str.replace( /&ordf/gi,'');
			str = str.replace( /&ordm/gi,'');
			str = str.replace( /&quot/gi,'');
			str = str.replace( /&euro/gi,'');
			str = str.replace( /&auml/gi,'');
			str = str.replace( /&euml/gi,'');
			str = str.replace( /&iuml/gi,'');
			str = str.replace( /&ouml/gi,'');
			str = str.replace( /&uuml/gi,'');
			return str;
		}
		
		/*Operació que fa que a totes les plantilles que hi ha FCKEDITOR els comptador es carreguin inicalment
		* correctament. La operació fa que el fckEditor cridi ComptaCaracters cada vegada que es modifica*/
		function FCKeditor_OnComplete( editorInstance ) {
			comptaCaracters ( editorInstance );
			editorInstance.Events.AttachEvent( 'OnSelectionChange', comptaCaracters ) ;
		}
		
		/** Operacio que omple un camp 'comptadorCaracters_editorInstance.Name' amb el nombre de caracters
		*  real que hi ha en el FCKEditor (no inclou els caracters html). 
		*/
		var numCar = 1000;
		function comptaCaracters (editorInstance) {
		
			var nomInstancia = editorInstance.Name;
			var comptador = document.getElementById ( 'comptadorCaracters_'+nomInstancia );
			if (comptador) {
				var clear_text=editorInstance.GetXHTML();
				var numCaracters = parseInt(clear_text.length);
				comptador.value = numCaracters;
				if (numCaracters > parseInt(editorInstance.Name)) {
					comptador.className = "overflow";
				} else {
					comptador.className = "";
				}
			}
		}

// Funcio que compara dates amb format dd/MM/yyyy
function Comparar_Fecha(Data_Ini,Data_Final)
{
	String1 = Data_Ini.value;
	String2 = Data_Final.value;
	// Si los dias y los meses llegan con un valor menor que 10
	// Se concatena un 0 a cada valor dentro del string
	if (String1.substring(1,2)=="/") {
		String1="0"+String1
	}
	if (String1.substring(4,5)=="/"){
		String1=String1.substring(0,3)+"0"+String1.substring(3,9)
	}
	
	if (String2.substring(1,2)=="/") {
		String2="0"+String2
	}
	if (String2.substring(4,5)=="/"){
		String2=String2.substring(0,3)+"0"+String2.substring(3,9)
	}
	
	dia1=String1.substring(0,2);
	mes1=String1.substring(3,5);
	anyo1=String1.substring(6,10);
	dia2=String2.substring(0,2);
	mes2=String2.substring(3,5);
	anyo2=String2.substring(6,10);
	
	
	if (dia1 == "08") // parseInt("08") == 10 base octogonal
	dia1 = "8";
	if (dia1 == '09') // parseInt("09") == 11 base octogonal
	dia1 = "9";
	if (mes1 == "08") // parseInt("08") == 10 base octogonal
	mes1 = "8";
	if (mes1 == "09") // parseInt("09") == 11 base octogonal
	mes1 = "9";
	if (dia2 == "08") // parseInt("08") == 10 base octogonal
	dia2 = "8";
	if (dia2 == '09') // parseInt("09") == 11 base octogonal
	dia2 = "9";
	if (mes2 == "08") // parseInt("08") == 10 base octogonal
	mes2 = "8";
	if (mes2 == "09") // parseInt("09") == 11 base octogonal
	mes2 = "9";
	
	dia1=parseInt(dia1);
	dia2=parseInt(dia2);
	mes1=parseInt(mes1);
	mes2=parseInt(mes2);
	anyo1=parseInt(anyo1);
	anyo2=parseInt(anyo2);
	
	if (anyo1>anyo2)
	{
	return false;
	}
	
	if ((anyo1==anyo2) && (mes1>mes2))
	{
	return false;
	}
	if ((anyo1==anyo2) && (mes1==mes2) && (dia1>dia2))
	{
	return false;
	}
	
	return true;
}

