




















	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 cargarFecha2Meses()
	{
		hoy= new Date();
		anyo=hoy.getYear();
		if ((navigator.appName == "Netscape"))
		{
			if (anyo>=100) { anyo=anyo+1900;}
		}

		fecha= new Date(anyo,hoy.getMonth(),hoy.getDate()+60);
		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)
	{
		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.subing(1,codi.length);
			if (codi!="")
			{
				alert("Has introduit 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 introduit 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 introduit 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 introduit 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 substituit 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);
	 		if (url2!="http://")
	 		{
	 			alert("Error a la Url, no has posat 'http://'.");
	 			url.focus();
	 			return false;
	 		}
	 	}
	 	return true;
	}
	 	
	function ponerImg (car,camp)
	{
		switch (car)
		{
		case '1': camp.src="/camins/nums/n1.gif";
				break;
		case '2': camp.src="/camins/nums/n2.gif";
				break;
		case '3': camp.src="/camins/nums/n3.gif";
				break;
		case '4': camp.src="/camins/nums/n4.gif";
				break;
		case '5': camp.src="/camins/nums/n5.gif";
				break;
		case '6': camp.src="/camins/nums/n6.gif";
				break;
		case '7': camp.src="/camins/nums/n7.gif";
				break;
		case '8': camp.src="/camins/nums/n8.gif";
				break;
		case '9': camp.src="/camins/nums/n9.gif";
				break;
		case '0': camp.src="/camins/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 caracters.";
                camp1.value=replace_car(camp1,"´");
                camp1.value=replace_car(camp1,"`");
                camp1.value=replace_car(camp1,"‘");
                camp1.value=replace_car(camp1,"’");
                camp1.value=replace_car(camp1,"\"");
		/*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 simbols 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,foco)
	{
		var msg="";
		ampersand=false;
		euro=false;
		var longitud=camp1.value.length;
                camp1.value=replace_car(camp1,"´");
                camp1.value=replace_car(camp1,"`");
                camp1.value=replace_car(camp1,"‘");
                camp1.value=replace_car(camp1,"’");
                camp1.value=replace_car(camp1,"\"");
		/*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 simbols d'euro pel seu codi html '&euro;' per la seva correcta visualització al portal.";
			*/
                        	alert("Has superat el límit de caracters.\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);
		if (foco)camp1.focus();
		return false;
	}
	
	
	function calcCharLeftUnCampMil(camp1,tam, foco)
	{
		ampersand=false;
		euro=false;
		var longitud=camp1.value.length;
		var msg="";
                camp1.value=replace_car(camp1,"´");
                camp1.value=replace_car(camp1,"`");
                camp1.value=replace_car(camp1,"‘");
                camp1.value=replace_car(camp1,"’");
                camp1.value=replace_car(camp1,"\"");
		/*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 simbols d'euro pel seu codi html '&euro;' per la seva correcta visualització al portal.";
				*/
                                alert("Has superat el límit de caracters.\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);
		if (foco) camp1.focus();
		return false;
	}

	function calcCharLeftDosCampMil(camp1,tam)
	{
		var longitud=camp1.value.length;
		var msg="";
                camp1.value=replace_car(camp1,"´");
                camp1.value=replace_car(camp1,"`");
                camp1.value=replace_car(camp1,"‘");
                camp1.value=replace_car(camp1,"’");
                camp1.value=replace_car(camp1,"\"");
                resten=tam-camp1.value.length;
		if (resten>0)
		{
			restenStr=resten.toString();
			if (resten<10000)
   			   restenStr="0"+resten.toString();
			if (resten<1000)
				restenStr="00"+resten.toString();
			if (resten<100)
				restenStr="000"+resten.toString();
			if (resten<10)
				restenStr="0000"+resten.toString();
		}
		else
		{

			if (resten!=0)
			{
				resten=-resten;
                                alert("Has superat el límit de caracters.\nEn sobren "+resten.toString()+"."+msg);
			}
			restenStr="00000";
		}

		ponerImg (restenStr.charAt(0),document.num1);
		ponerImg (restenStr.charAt(1),document.num2);
		ponerImg (restenStr.charAt(2),document.num3);
		ponerImg (restenStr.charAt(3),document.num4);
		ponerImg (restenStr.charAt(5),document.num5);
		return false;
	}
	
	function calcCharLeftConOpc(camp1,tam,opc)
	{
		ampersand=false;
		euro=false;
		var longitud=camp1.value.length;
		var msg="";
		camp1.value=replace_car(camp1,"´");
                camp1.value=replace_car(camp1,"`");
                camp1.value=replace_car(camp1,"‘");
                camp1.value=replace_car(camp1,"’");
                camp1.value=replace_car(camp1,"\"");
		/*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 simbols d'euro pel seu codi html '&euro;' per la seva correcta visualització al portal.";
			*/
                        	alert("Has superat el límit de caracters.\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=replace_car(camp1,"´");
                camp1.value=replace_car(camp1,"`");
                camp1.value=replace_car(camp1,"‘");
                camp1.value=replace_car(camp1,"’");
                camp1.value=replace_car(camp1,"\"");
		/*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 simbols d'euro pel seu codi html '&euro;' per la seva correcta visualització al portal.";
			*/
                        	alert("Has superat el límit de caracters.\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=replace_car(camp1,"´");
                camp1.value=replace_car(camp1,"`");
                camp1.value=replace_car(camp1,"‘");
                camp1.value=replace_car(camp1,"’");
                camp1.value=replace_car(camp1,"\"");
		/*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 simbols d'euro pel seu codi html '&euro;' per la seva correcta visualització al portal.";
				*/
				alert("Has superat el límit de caracters.\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=replace_car(camp,"´");
                camp.value=replace_car(camp,"`");
                camp.value=replace_car(camp,"‘");
                camp.value=replace_car(camp,"’");
                camp.value=replace_car(camp,"\"");
		/*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 simbols d'euro pel seu codi html '&euro;' per la seva correcta visualització al portal.";
			alert(msg);
			camp.focus();
	 		return false;
	 	}
	 	return true;
	}
	//funció que mira que el día tingui el rang adecuat
	function Dia_Ok (dia, max_dia)
	{
		if((parseInt(dia.value,10)<=max_dia)&&(parseInt(dia.value,10)>=1))
		{
		 	return true;
		}
		alert("El día 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 checkData (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;}
		//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;
	}
	
        function Data_MajorInici(diaI,mesI,anyoI,diaF,mesF,anyoF)
	{
		fecha_act= new Date();
	 	fecha_cad= new Date();

		fecha_act.setDate(parseInt(diaI.value,10));
		fecha_act.setMonth(parseInt(mesI.value,10)-1);
	 	fecha_act.setYear(parseInt(anyoI.value,10));

		fecha_cad.setDate(parseInt(diaF.value,10));
		fecha_cad.setMonth(parseInt(mesF.value,10)-1);
	 	fecha_cad.setYear(parseInt(anyoF.value,10));
	 	if (fecha_act>fecha_cad)
	 	{
			alert("La data inserida no pot ser inferior a la d'inici.");
	  		diaF.focus();
	  		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.getYear();
	 	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;
	}

	//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 la actual.");
	  		dia.focus();
	  		return false;
	 	}
	 	return true;
	 }
	//funcio que comproba si la data_caducitat es major que la data_maxima de caducitat
	function Data_Sup_Ok(dia,mes,anyo,diah,mesh,anyoh)
	{
	        if(diah==null)
		   hoy= new Date();
		else
                   hoy= new Date(parseInt(anyoh.value,10),parseInt(mesh.value,10)-1,parseInt(diah.value,10));

		anyo2=hoy.getYear();
		if ((navigator.appName == "Netscape"))
		{
			if (anyo2>=100) { anyo2=anyo2+1900;}
		}
		fecha_max= new Date(anyo2,hoy.getMonth(),hoy.getDate()+60,0,0,0);
	 	fecha_cad= new Date(parseInt(anyo.value,10),parseInt(mes.value,10)-1,parseInt(dia.value,10),0,0,0);
	 	if (fecha_max<fecha_cad)
	 	{
			alert("La data de caducitat es superior a la permesa");
	  		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 de 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,titol,MidaX,MidaY,tipus)
	{
		posX=(self.screen.width-MidaX)/2;
    		posY=(self.screen.height-MidaY)/2;

    		plusx=16;
    		plusy=23;

	    	if (navigator.appName!='Netscape')
    		{
        		if (tipus==0) { win=window.open(pagina,titol,'height='+(MidaY+plusy)+',width='+(MidaX+plusx)+',left='+posX+',top='+posY+',scrollbars=yes,menubar=no,toolbar=no,resizable=yes,location=no,status=no'); }
			else { win=window.open(pagina,titol,'height='+(MidaY+plusy)+',width='+(MidaX+plusx)+',left='+posX+',top='+posY+',scrollbars=yes,menubar=yes,toolbar=yes,resizable=yes,location=yes,status=yes'); }
    		}
    		else
    		{
			if (tipus==0) { win=window.open(pagina,titol,'height='+MidaY+',width='+MidaX+',ScreenX='+posX+',ScreenY='+posY+',scrollbars=yes,menubar=no,toolbar=no,resizable=yes,location=no,status=no'); }
			else { win=window.open(pagina,titol,'height='+MidaY+',width='+MidaX+',ScreenX='+posX+',ScreenY='+posY+',scrollbars=yes,menubar=yes,toolbar=yes,resizable=yes,location=yes,status=yes'); }
		}
	}

	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_Fixter (fitxer)
	{
		if(fitxer.value!="")
	 	{
			extension=fitxer.value.substring(fitxer.value.length-4,fitxer.value.length);
			extension=extension.toUpperCase();
	  		if ((extension != ".JPG")&&(extension != ".GIF")&&(extension!=".SWF")
                           &&(extension!=".TXT")&& (extension!=".DOC"))
	  		{
	    			alert ("El fitxer no té extensió .jpg, .gif, .txt, .swf o .doc");
				fitxer.focus();
				return false;
	     			}
		}
		return true;
	 }

	function Comprobar_Es_Imagen (fitxer,fitxer2)
	{
		if(fitxer.value!="")
	 	{
			extension=fitxer.value.substring(fitxer.value.length-4,fitxer.value.length);
			extension=extension.toUpperCase();
	  		if ((extension != ".SWF")&&(extension != ".GIF")&& (extension != ".JPG"))
	  		{
	    			alert ("La imatge no té extensió .jpg, .swf o .gif");
				fitxer.focus();
				return false;
	     		}
	     		else
	     			fitxer2.value=extension;

		}
		else fitxer2.value="";
		return true;
	 }
	
	function Comprobar_Es_Imagen2 (fitxer,fitxer2)
	{
		if(fitxer.value!="")
	 	{
			extension=fitxer.value.substring(fitxer.value.length-4,fitxer.value.length);
			extension=extension.toUpperCase();
	  		if ((extension != ".SWF")&&(extension != ".GIF")&&(extension != ".JPG"))
	  		{
	    			alert ("La imatge no té extensió .jpg, .gif o .swf");
				fitxer.focus();
				return false;
	     		}
	     		else
	     			fitxer2.value=extension;
	     		
		}
		else fitxer2.value="";
		return true;
	 }
	 
	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()
	{
		if(ie)document.all["Layer2"].style.backgroundColor=colhex;
		if(ns4)document.layers["Layer1"].bgColor=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 data_actual
	function Data_Major2(dia,mes,anyo,diaF,mesF,anyoF)
	{
		fecha_ini= new Date();
		fecha_ini.setDate(parseInt(dia.value,10));
		fecha_ini.setMonth(parseInt(mes.value,10)-1);
	 	fecha_ini.setYear(parseInt(anyo.value,10));

	 	fecha_fin= new Date();
		fecha_fin.setDate(parseInt(diaF.value,10));
		fecha_fin.setMonth(parseInt(mesF.value,10)-1);
	 	fecha_fin.setYear(parseInt(anyoF.value,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 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 BuscarIntro2(texto)
	{
		for (i=0;i<texto.length;i++)
		{
			codi=escape(texto.charAt(i));
			if ((codi=="%0D")||(codi=="%0A"))
			{
				aux=texto.substring(0,i)+texto.substring(i+2,texto.length);
				texto=aux;
			}
		}
		return texto;
	}

        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 Comprobar_Es_Html (fitxer)
	{
		if(fitxer.value!="")
	 	{
			indice=fitxer.value.indexOf(".");
			if (indice!=-1)
			{
			   extension=fitxer.value.substring(indice,fitxer.value.length);
  			   extension=extension.toUpperCase();

	  		   if ((extension != ".HTM")&&(extension != ".HTML"))
	  		   {
	    			alert ("El fitxer no té extensió .htm o .html");
				fitxer.focus();
				return false;
	     		   }
		}       }
		return true;
	 }

