function Validate_Email_String(string, return_invalid_chars)
{
    //alert('Entrou na segunda funcao');
	valid_chars = '1234567890-_.^~abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
	invalid_chars = '';
         
	if(string == null || string == '')
		return(true);
         
	//For every character on the string.   
	for(index = 0; index < string.length; index++)
	{
		carac = string.substr(index, 1);
            
		//Is it a valid character?
		if(valid_chars.indexOf(carac) == -1)
		{
			//If not, is it already on the list of invalid characters?
			if(invalid_chars.indexOf(carac) == -1)
			{
				//If it's not, add it.
				if(invalid_chars == '')
					invalid_chars += carac;
				else
					invalid_chars += ', ' + carac;
			}
		}
	}                     
            
	//If the string does not contain invalid characters, the function will return true.
	//If it does, it will either return false or a list of the invalid characters used
	//in the string, depending on the value of the second parameter.
	if(return_invalid_chars == true && invalid_chars != '')
	{
		last_comma = invalid_chars.lastIndexOf(',');
           
		if(last_comma != -1)
			invalid_chars = invalid_chars.substr(0, $last_comma) + 
			' and ' + invalid_chars.substr(last_comma + 1, invalid_chars.length);
                      
		return(invalid_chars);
	}
	else
		return(invalid_chars == ''); 
}


function Validate_Email_Address(email_address)
{
	//Assumes that valid email addresses consist of user_name@domain.tld
	at = email_address.indexOf('@');
	dot = email_address.indexOf('.');
    //alert(email_address);
    
    
	if(at == -1 || 
	   dot == -1 || 
	   dot <= at + 1 ||
	   dot == 0 || 
	   dot == email_address.length - 1)
		return(false);
            
	user_name = email_address.substr(0, at);
	domain_name = email_address.substr(at + 1, email_address.length);                  
         
	if(Validate_Email_String(user_name) === false || 
	   Validate_Email_String(domain_name) === false)
		return(false);                     
         
	return(true);

}

function validar_visitas()
{
	doc = document.forms[0];
	
	if (!doc.nome.value)
	{
		alert('Por favor, preencha o campo do nome.');
       		doc.nome.focus();
        	return false;
	}
	
	//if (!doc.morada.value)
	//{
	//	alert('Por favor, preencha o campo da morada.');
    //   		doc.morada.focus();
    //    	return false;
	//}
	
	//if (!doc.localidade.value)
	//{
	//	alert('Por favor, preencha o campo da localidade.');
    //   		doc.localidade.focus();
    //    	return false;
	//}
	
	//if (!doc.pais.value)
	//{
	//	alert('Por favor, preencha o campo do pais.');
    //   		doc.pais.focus();
    //    	return false;
	//}
	
	// verificar se o campo do email está vazio
	//if (!doc.email.value)
	//{
	//	alert('Por favor, preencha o campo do e-mail.');
    //   		doc.pais.focus();
    //    	return false;
	//}
	
	if (!Validate_Email_Address(doc.email.value))
	{
		alert('O campo do e-mail possui erros.');
       		doc.email.focus();
        	return false;
	}
	
	//if (!doc.comentario.value)
	//{
	//	alert('O campo do comentario esta vazio.');
    //   		doc.email.focus();
    //    	return false;
	//}	
}

function validar_reservas()
{
	doc = document.forms[0];
	
	if (!doc.nome.value)
	{
		alert('Por favor, preencha o campo do nome.');
       		doc.nome.focus();
        	return false;
	}
	
    // verificar se o campo do email está vazio
	//if (!doc.email.value)
	//{
	//	alert('Por favor, preencha o campo do e-mail.');
    //   		doc.email.focus();
    //    	return false;
	//}
	
	if (!Validate_Email_Address(doc.email.value))
	{
		alert('O campo do e-mail possui erros.');
       		doc.email.focus();
        	return false;
	}
}
