	function Cargo_pag (camp)
	{
		if ((camp.value=="")||(camp.value==0))
		{
	  		alert("Has de seleccionar un element per poder esborrar.");
	 		return false;
		}
		else
		{
			if (confirm("Are you sure you want to delete this item?"))
			{
	  			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)
	{
		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("You have introduced an unvalid character.");
				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("You have introduced an unvalid character.");
					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("You have introduced an unvalid character in the URL: '"+caracter+"'.");
	 			return false;
	 		}
			codi =escape(caracter);
			codi=codi.substring(1,codi.length);
			if (codi!="")
			{
				alert("You have introduced an unvalid character in the 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("You have introduced an unvalid character in the URL:");
	 			url.focus();
	 			return false;
	 		}
	 	}
	 	url2=url.value;
	 	url2=url2.substring(0,14);
	 	if (url2=="http://http://")
	 	{
	 		alert("You have introduced 'http://' twice.");
	 		url.focus();
	 		return false;
	 	}
	 	if (url.value!="")
	 	{
	 		url2=url.value;
	 		url2=url2.substring(0,7);
	 		if (url2!="http://")
	 		{
	 			alert("You haven't introduced 'http://'.");
	 			url.focus();
	 			return false;
	 		}
	 	}
	 	return true;
	}
	 	
	function ponerImg (car,camp)
	{
		switch (car)
		{
		case '1': camp.src="/ephotonone/imatges/n1.gif";
				break;
		case '2': camp.src="/ephotonone/imatges/n2.gif";
				break;
		case '3': camp.src="/ephotonone/imatges/n3.gif";
				break;
		case '4': camp.src="/ephotonone/imatges/n4.gif";
				break;
		case '5': camp.src="/ephotonone/imatges/n5.gif";
				break;
		case '6': camp.src="/ephotonone/imatges/n6.gif";
				break;
		case '7': camp.src="/ephotonone/imatges/n7.gif";
				break;
		case '8': camp.src="/ephotonone/imatges/n8.gif";
				break;
		case '9': camp.src="/ephotonone/imatges/n9.gif";
				break;
		case '0': camp.src="/ephotonone/imatges/n0.gif";
		}
		return true;
	}
	
	function calcCharLeft(camp1,tam,img1,img2)
	{
		ampersand=false;
		euro=false;
		var longitud=camp1.value.length;
		var msg="You have exceeded the character limit.";
		
		//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+"\nAll euro symbols in field "+camp1.name+" have been replaced by its html code: '&euro'.";
				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=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+"\nAll euro symbols in field "+camp1.name+" have been replaced by its html code: '&euro'.";
				alert("You have exceeded in "+resten.toString()+" the character limit."+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=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+"\nAll euro symbols in field "+camp1.name+" have been replaced by its html code: '&euro'.";
				alert("You have exceeded in "+resten.toString()+" the character limit."+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 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+"\nAll euro symbols in field "+camp1.name+" have been replaced by its html code: '&euro'.";
				alert("You have exceeded in "+resten.toString()+" the character limit."+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+"\nAll euro symbols in field "+camp1.name+" have been replaced by its html code: '&euro'.";
				alert("You have exceeded in "+resten.toString()+" the character limit."+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);
		else
              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+"\nAll euro symbols in field "+camp1.name+" have been replaced by its html code: '&euro'.";
				alert("You have exceeded in "+resten.toString()+" the character limit."+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="The fiel named "+camp.name+"has non numerical characters.";
	 		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)
	{
          if(camp.value.length>maxim_camp)
          {
          	alert(msg);
          	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("The day must be between 1 and "+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,"You have to introduce the day."))
		{
			return false;
		}
		if(!StrCampNull(mes,"You have to introduce the month."))
	 	{
	  		return false;
		}
		if(!StrCampNull(anyo,"You have to introduce the year."))
	 	{
	  		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, "Please introduce the day in dd format."))
	 	{return false;}
	 	if(!Longitud_Ok(mes,2, "Please introduce the month in mm format."))
	 	{return false;}
	 	if(!Longitud_Ok(anyo,4, "Please introduce the year in yyyy format."))
	 	{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("The year is lower than the current.");
	  		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("The month must be between 1 and 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("The date is before now.");
	  		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("The hour of Time must be between 00 and 23 (24h format). Please insert a correct date.");
			hora.focus();
			return false;
		}
		if ((m>59)||(m<0))
		{
			alert("The minuts of Time must be between 00 and 59. Please insert a correct date.");
			min.focus();
			return false;
		}
		if (hora.value=="")
		{
			hora.focus();
			alert("Please introduce a hour value between 00 and 23.");
			return false;
		}
		if (min.value=="")
		{
			min.focus();
			alert("Please introduce a minute value between 00 and 23.");
			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 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);
	  		if ((extension != ".gif")&&(extension != ".GIF") && (extension != ".jpg") && (extension != ".JPG")
	  		&&(extension!=".txt")&&(extension!=".TXT")&& (extension!=".doc")&&(extension!=".DOC"))
	  		{
	    			alert ("The extension of file is not: .jpg, .gif, .txt or .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);
	  		if ((extension != ".gif")&&(extension != ".GIF") && (extension != ".jpg") && (extension != ".JPG"))
	  		{
	    			//alert ("La imatge no té extensió .jpg 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);
	  		if ((extension != ".gif")&&(extension != ".GIF") 
	  		&& (extension != ".jpg") && (extension != ".JPG")
	  		&& (extension != ".swf") && (extension != ".SWF"))
	  		{
	    			alert ("The extension of icon is not: .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 ("You have not introduced a end date. It will be the same that start time.\nAre you sure?"))
	    		{
	    			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("The end date is lower than start date. Please introduce a later date.");
	  		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"))          s
			{
				aux=texto.substring(0,i)+texto.substring(i+2,texto.length);
				texto=aux;
			}
		}
		return texto;
	}
function link(campo,nom)
{
		var res="";
		var longitud=campo.value.length;
	        i=0;
		while (i<longitud)
		{
  		i=campo.value.indexOf("<A");
  		if (i!=-1)
  		{
//        			if(campo.value.substring(i+3,i+5)!="ta")
//        			{
                                  if(campo.value.substring(i,campo.value.substring(i,longitud).indexOf(">")+i).indexOf("target")==-1)
  				{
  				        res=res+campo.value.substring(0,i+2);
    				        res=res+" target=\"_blank\"";
    				        campo.value=campo.value.substring(i+2);
    		                }
//          			}
    			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 contecoma(camp)
{
	if(camp.value.indexOf(",")!=-1)
	{
	    alert("No pots utilitzar comes en els Keywords");
      return true;
  }
  return false;
}
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 ComprobaMail(camp)
{


  aux2="";
  aux=camp;
  acabar=false;
  while (!acabar)
  {
	      i=aux.indexOf('@');
	      aux=aux.substring(i+1,aux.length);
	      j=aux.indexOf('@');
	      if (j!=-1)
	      {
               aux2=aux.substring(i+1,j);
               aux=aux.substring(j,aux.length);
                if(aux2.indexOf(',')==-1)
                {
                    alert("Please introduce correct addresses");
                    return false;
                }
	      }
	      else
	      {
	        acabar=true;
              }
  }
  /*AbrirNuevo("./photon.enviarMail?adreca="+camp+"&idioma=3","Newsletter",450,260,0);*/
  return true;

}

function comprovarAdreca(adre,accio)
{
   adreca = adre.value;
   if(adreca.indexOf("@")<0)
    alert("The e-mail must content @");
   else if(adreca.indexOf("@")==0)
    alert("The e-mail must content a name before @");
   else if(adreca.indexOf("@")!=adreca.lastIndexOf("@"))
    alert("The e-mail can't content more than one @");
   else if(adreca.lastIndexOf(".")<adreca.indexOf("@"))
    alert("The e-mail must content a . after @");
   else{    
	   
     AbrirNuevo("./photon.enviarMail?adreca="+adreca+"&idioma=3&accio="+accio,'Window1',450,400,0);
   }
}

