
function valida_email2 (objecto,lingua) 
{

	for (i=0;i<objecto.length;i++)
	{
		var tempobj=objecto.elements[i];

		if (objecto.name=="sub")
		{				
			emailStr = tempobj.value;
			
			// checks if the e-mail address is valid
			//var emailPat = /^(\".*\"|[A-Za-z]\w*)@(\[\d{1,3}(\.\d{1,3}){3}]|[A-Za-z]\w*(\.[A-Za-z]\w*)+)$/;
			
			//var emailPat = /^(([^<>()[\]\\,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@(\[\d{1,3}(\.\d{1,3}){3}]|[A-Za-z]\w*(\.-[A-Za-z]\w*)+)$/;

			var emailPat = /^(([^<>()[\]\\,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@([a-zA-Z0-9.-]+\.)+[a-zA-Z0-9.-]{2,4}$/;
			
			var matchArray = emailStr.match(emailPat);
			
			if (matchArray == null) 
			{
				//alert("Your email address seems incorrect.  Please try again (check the '@' and '.'s in the email address)");
				//return false;
				
				if (lingua == "pt")
				{
					alert("Formato do E-mail incorrecto");
				}
				else if (lingua == "en")
				{
					alert("Incorrect email format");
				}
				else if (lingua == "de")
				{
					alert("E-mail-Format nicht korrekt");
				}
				else if (lingua == "fr")
				{
					alert("Format incorrect d'email");
				}
				else if (lingua == "es")
				{
					alert("Formato de E-mail incorrecto");
				}							
				return false;
				
			}
			// make sure the IP address domain is valid
			/*
			var IPArray = matchArray[2].match(/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/);
			if (IPArray != null) 
			{
				for (var i=1;i<=4;i++) 
				{
					if (IPArray[i]>255) 
					{
						alert("Endereço de IP de destino inválido!")
						return false;
					}
				}
			}
			*/
			return true;

		}
	}

}	

/*	
function subscrever(frm,lingua)
{

	if(valida_email(frm,lingua))
	{
		frm.submit();
		return true;
	}
}
*/

function valida_email (objecto,lingua) 
{

	for (i=0;i<objecto.length;i++)
	{
		var tempobj=objecto.elements[i];

		if (objecto.name=="sub")
		{				
			emailStr = tempobj.value;

			
			// checks if the e-mail address is valid
			//var emailPat = /^(\".*\"|[A-Za-z]\w*)@(\[\d{1,3}(\.\d{1,3}){3}]|[A-Za-z]\w*(\.[A-Za-z]\w*)+)$/;
			
			//var emailPat = /^(([^<>()[\]\\,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@(\[\d{1,3}(\.\d{1,3}){3}]|[A-Za-z]\w*(\.-[A-Za-z]\w*)+)$/;

			var emailPat = /^(([^<>()[\]\\,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@([a-zA-Z0-9.-]+\.)+[a-zA-Z0-9.-]{2,4}$/;
			
			var matchArray = emailStr.match(emailPat);
			if (matchArray == null) 
			{
				//alert("Your email address seems incorrect.  Please try again (check the '@' and '.'s in the email address)");
				//return false;
				
				if (lingua == "pt")
				{
					alert("Formato do E-mail incorrecto");
				}
				else if (lingua == "en")
				{
					alert("Incorrect email format");
				}
				else if (lingua == "de")
				{
					alert("E-mail-Format nicht korrekt");
				}
				else if (lingua == "fr")
				{
					alert("Format incorrect d'email");
				}
				else if (lingua == "es")
				{
					alert("Formato de E-mail incorrecto");
				}							
				return false;
				
			}
			// make sure the IP address domain is valid
			var IPArray = matchArray[2].match(/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/);
			if (IPArray != null) 
			{
				for (var i=1;i<=4;i++) 
				{
					if (IPArray[i]>255) 
					{
						alert("Endereço de IP de destino inválido!")
						return false;
					}
				}
			}
			return true;

		}
	}

}

function compor_geral(form)
{
	for (i=0;i<form.length;i++)
	{
		var tempobj = form.elements[i];
		     
		if (form.name == "geral")
		{
			if (tempobj.name == "p_data_envio"  && tempobj.value == "")
			{
				alert("A data de envio deve ser preenchida.");				
				return false;
			}
		}
	}

	
	return true;
}

function subscrever(frm,lingua)
{				
	if(valida_email(frm,lingua))
	{
		frm.submit();
		return true;
	}
}



//Funções antigas de validação do e-mail
function valida_email33 (objecto,lingua)
{

	for (i=0;i<objecto.length;i++)
	{
		var tempobj=objecto.elements[i];
	     
		if (objecto.name=="sub")
	     	{
			if (tempobj.name == "p_email"  && tempobj.value == "")
		  	{
				if (lingua == "pt")
				{
					alert("O E-Mail deve ser preenchido");
				}
				else if (lingua == "en")
				{
					alert("Email must be filled in");
				}
				else if (lingua == "de")
				{
					alert("Das E-mail muss ausgefüllt werden");
				}
				else if (lingua == "fr")
				{
					alert("L'adresse email doit être remplie");
				}
				else if (lingua == "es")
				{
					alert("El E-mail debe ser rellenado");
				}					
				return false;
				
		  	}
		  	else if (tempobj.name == "p_email" && tempobj.value != "")
		  	{
				var indAux = 0;
				var indAuxEsp = 0;				

				//Tem que ter uma "@"
				if(tempobj.value.charAt(0) != "@")
				{
					for(x=1; x<tempobj.value.length; x++)
					{	
						if(tempobj.value.charAt(x) == " ")
						{							
							indAux = 0;
							break;
						}
						else if(tempobj.value.charAt(x) == "@")
						{
							indAux = x+1;
							break;
						}						
					}
					
					if(indAux == 0)
					{
						if (lingua == "pt")
						{
							alert("Formato do E-mail incorrecto");
						}
						else if (lingua == "en")
						{
							alert("Incorrect email format");
						}
						else if (lingua == "de")
						{
							alert("E-mail-Format nicht korrekt");
						}
						else if (lingua == "fr")
						{
							alert("Format incorrect d'email");
						}	
						else if (lingua == "es")
						{
							alert("Formato de E-mail incorrecto");
						}
						return false;
					
					}					
					//Tem que ter um "."
					else if(tempobj.value.charAt(indAux) != ".")
					{									
						for(x=indAux; x<tempobj.value.length; x++)
						{	
							if(tempobj.value.charAt(x) == " ")
							{								
								indAuxEsp = 1;
								break;
							}
						}

						tamanho = tempobj.value.length;
					
						for(y=tamanho; y>indAux; y--)
						{	
							if(tempobj.value.charAt(y) == ".")
							{
								indAux = y+1;
								break;
							}
						}						
						//Depois do "." só são permitidos 2 ou 3 caracteres
						if( ((tamanho - indAux) > 3 || (tamanho - indAux) <2) || indAuxEsp == 1 )
						{
							if (lingua == "pt")
							{
								alert("Formato do E-mail incorrecto");
							}
							else if (lingua == "en")
							{
								alert("Incorrect email format");
							}
							else if (lingua == "de")
							{
								alert("E-mail-Format nicht korrekt");
							}
							else if (lingua == "fr")
							{
								alert("Format incorrect d'email");
							}	
							else if (lingua == "es")
							{
								alert("Formato de E-mail incorrecto");
							}						
							return false;
						
						}
					}
					//Não pode ter um "." a seguir à "@"
					else if (tempobj.value.charAt(indAux) == ".")
					{
						if (lingua == "pt")
						{
							alert("Formato do E-mail incorrecto");
						}
						else if (lingua == "en")
						{
							alert("Incorrect email format");
						}
						else if (lingua == "de")
						{
							alert("E-mail-Format nicht korrekt");
						}
						else if (lingua == "fr")
						{
							alert("Format incorrect d'email");
						}
						else if (lingua == "es")
						{
							alert("Formato de E-mail incorrecto");
						}							
						return false;
										
					}
					
				}
				//Não pode começar por uma "@"
				else if (tempobj.value.charAt(0) == "@")
				{					
					if (lingua == "pt")
					{
						alert("Formato do E-mail incorrecto");
					}
					else if (lingua == "en")
					{
						alert("Incorrect email format");
					}
					else if (lingua == "de")
					{
						alert("E-mail-Format nicht korrekt");
					}
					else if (lingua == "fr")
					{
						alert("Format incorrect d'email");
					}	
					else if (lingua == "es")
					{
						alert("Formato de E-mail incorrecto");
					}						
					return false;
					
				}
			}
    		}
	}
    	return true;
}

function valida_email44 (objecto,lingua)
{
	for (i=0;i<objecto.length;i++)
	{
		var tempobj=objecto.elements[i];
	     
		if (objecto.name=="sub")
	     	{
			if (tempobj.name == "p_email"  && tempobj.value == "")
		  	{
				if (lingua == "pt")
				{
					alert("O E-Mail deve ser preenchido");
				}
				else if (lingua == "en")
				{
					alert("Email must be filled in");
				}
				else if (lingua == "de")
				{
					alert("Das E-mail muss ausgefüllt werden");
				}
				else if (lingua == "fr")
				{
					alert("L'adresse email doit être remplie");
				}		
				else if (lingua == "es")
				{
					alert("El E-mail debe ser rellenado");
				}
				return false;
				
		  	}
		  	else if (tempobj.name == "p_email" && tempobj.value != "")
		  	{
				var indAux = 0;
				var indAuxEsp = 0;
				var conta_arrobas = 0;
				
				//Tem que ter uma "@"
				if(tempobj.value.charAt(0) != "@")
				{

					for(x=1; x<tempobj.value.length; x++)
					{	
						if(tempobj.value.charAt(x) == " ")
						{							
							indAux = 0;
							break;
						}
						else if(tempobj.value.charAt(x) == "@")
						{
							indAux = x+1;
							break;
						}						
					}
					
					if(indAux == 0)
					{
						if (lingua == "pt")
						{
							alert("Formato do E-mail incorrecto");
						}
						else if (lingua == "en")
						{
							alert("Incorrect email format");
						}
						else if (lingua == "de")
						{
							alert("E-mail-Format nicht korrekt");
						}
						else if (lingua == "fr")
						{
							alert("Format incorrect d'email");
						}
						else if (lingua == "es")
						{
							alert("Formato de E-mail incorrecto");
						}							
						return false;
					
					}					
					//Tem que ter um "."
					else if(tempobj.value.charAt(indAux) != ".")
					{									
						for(x=indAux; x<tempobj.value.length; x++)
						{	
							if(tempobj.value.charAt(x) == " ")
							{								
								indAuxEsp = 1;
								break;
							}
						}

						tamanho = tempobj.value.length;
					
						for(y=tamanho; y>indAux; y--)
						{	
							if(tempobj.value.charAt(y) == ".")
							{
								indAux = y+1;
								break;
							}
						}						
						//Depois do "." só são permitidos 2 ou 3 caracteres
						if( ((tamanho - indAux) > 3 || (tamanho - indAux) <2) || indAuxEsp == 1 )
						{
							if (lingua == "pt")
							{
								alert("Formato do E-mail incorrecto");
							}
							else if (lingua == "en")
							{
								alert("Incorrect email format");
							}
							else if (lingua == "de")
							{
								alert("E-mail-Format nicht korrekt");
							}
							else if (lingua == "fr")
							{
								alert("Format incorrect d'email");
							}
							else if (lingua == "es")
							{
								alert("Formato de E-mail incorrecto");
							}							
							return false;
						
						}
					}
					//Não pode ter um "." a seguir à "@"
					else if (tempobj.value.charAt(indAux) == ".")
					{
						if (lingua == "pt")
						{
							alert("Formato do E-mail incorrecto");
						}
						else if (lingua == "en")
						{
							alert("Incorrect email format");
						}
						else if (lingua == "de")
						{
							alert("E-mail-Format nicht korrekt");
						}
						else if (lingua == "fr")
						{
							alert("Format incorrect d'email");
						}
						else if (lingua == "es")
						{
							alert("Formato de E-mail incorrecto");
						}							
						return false;
										
					}
					
				}
				//Não pode começar por uma "@"
				else if (tempobj.value.charAt(0) == "@")
				{					
					if (lingua == "pt")
					{
						alert("Formato do E-mail incorrecto");
					}
					else if (lingua == "en")
					{
						alert("Incorrect email format");
					}
					else if (lingua == "de")
					{
						alert("E-mail-Format nicht korrekt");
					}
					else if (lingua == "fr")
					{
						alert("Format incorrect d'email");
					}		
					else if (lingua == "es")
					{
						alert("Formato de E-mail incorrecto");
					}					
					return false;
					
				}
			}
    		}
	}
    	return true;
}