<!-- // Início do script formulario_parceiros.js
// Função que valida o formulário formulario_de_contacto.
function ValidarFormulario(formulario) {
	var MensagemErro = "";
	for (var contador = 0; contador<formulario.elements.length; contador++)
	if (document.all) {
		// Internet Explorer
		if (null!=formulario.elements[contador].getAttribute("required")) 
		if (vazio(formulario.elements[contador].value)) {
			MensagemErro += "Dado em falta: " + formulario.elements[contador].name.substring(10) + "\n";
			formulario.elements[contador].value = "";
													   }
		if (formulario.elements[contador].name.substring(10) == "Email")
		if (!VerificaEmail(formulario.elements[contador].value))
			MensagemErro += "Email invalido: " + formulario.elements[contador].name.substring(10) + "\n";
					  }
	else {
		// Netscape Navigator
		if (formulario.elements[contador].name.substring(0,10)=="Requerido_")
		if (vazio(formulario.elements[contador].value)) {
			MensagemErro += "Dado em falta: " + formulario.elements[contador].name.substring(10) + "\n";
			formulario.elements[contador].value = "";
													   }
		if (formulario.elements[contador].name.substring(10) == "Email")
		if (!VerificaEmail(formulario.elements[contador].value))
			MensagemErro += "Email invalido: " + formulario.elements[contador].name.substring(10) + "\n";
		 }
	
	if (MensagemErro != "") {
		var formularioMensagem = "Por favor, verifique ou introduza os seguintes dados:";
		formularioMensagem += "\n\n";
		formularioMensagem += MensagemErro;
		formularioMensagem += "\n";
		alert(formularioMensagem);
		return false;
						}
	else {
		submeterFormulario(formulario)
		return (true);
		 }
									 }
// Função que verifica quando um campo está vazio.
function vazio(str) {
	for (var contador = 0; contador < str.length; contador++)
	if (" " != str.charAt(contador))
	return false;
	return true;
					  }
// Função que verifica se o endereço de correio electrónico está introduzido correctamente.
function VerificaEmail (ConteudoEmail) {
	// Variável usada para verificar se o endereço de correio electrónico introduzido corresponde ao formato utilizador@dominio.
	var FormatoEmail=/^(.+)@(.+)$/
	// Variável que representa todos os caracteres especiais que não devem constar de um endereço de correio electrónico. são os seguintes ( ) < > @ , ; : \ " . [ ]
	var caracteresEspeciais="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]"
	// Variável que representa todos os caracteres que não devem constar de um endereço de correio electrónico.
	var caracteresValidos="\[^\\s" + caracteresEspeciais + "\]"
	// Variável que determina se o "utilizador" usa aspas. Neste caso não existem regras. Por exemplo, "este utilizador"@dominio.pt é um endereço de correio electrónico válido.
	var utilizadorComAspas="(\"[^\"]*\")"
	// Variável que representa um domínio em formado de endereço IP. Por exemplo, utilizador@[123.123.123.1] é um endereço de correio electrónico válido. De notar que os parêntesis rectos são indispensáveis.
	var FormatoIP=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/
	// Variável que representa a série de caracteres especiais.
	var palavra=caracteresValidos + '+'
	// Variável que representa uma  num utilizador comum. Por exemplo, em ca.pa@dominio.pt, ca e pa são s.
	var palavraCompleta="(" + palavra + "|" + utilizadorComAspas + ")"
	// Variável que representa a estrutura do utilizador.
	var formatoUtilizador=new RegExp("^" + palavraCompleta + "(\\." + palavraCompleta + ")*$")
	// Variável que representa a estrutura do domínio comum, em oposição ao FormatoIP.
	var formatoDominio=new RegExp("^" + palavra + "(\\." + palavra +")*$")
	// Verificar se o formato de endereço de correio electrónico é válido.
	var EmailCompleto=ConteudoEmail.match(FormatoEmail)
	if (EmailCompleto==null) {
  /* Too many/few @'s or something; basically, this address doesn't
     even fit the general mould of a valid e-mail address. */
		//alert("O endereço de correio electrónico parece estar incorrecto.\n(Verifique se introduziu correctamente @ e . no endereço!)")
		return false
						  }
	// Subdividir o endereço utilizador@dominio em duas partes para ser mais fácil analizar.
	var utilizador=EmailCompleto[1]
	var dominio=EmailCompleto[2]
	// Verificar se o utilizador é válido
	if (utilizador.match(formatoUtilizador)==null) {
		// O utilizador não é válido
		//alert("O utilizador não parece ser válido!")
		return false
								   }
	// Verificar se o endereço IP é válido.
	var MatrizIP=dominio.match(FormatoIP)
	if (MatrizIP!=null) {
		for (var i=1;i<=4;i++) {
			if (MatrizIP[i]>255) {
	        	//alert("O endereço IP é inválido!")
				return false
	    						}
							   }
		return true
					   }
	// O domínio é um nome simbólico
	var matrizDominio=dominio.match(formatoDominio)
	if (matrizDominio==null) {
	//	alert("O nome de domínio não parece ser válido!")
		return false
						   }
	/* Ter a certeza que o domínio termina com uma  de três letras (como com, gov,...) ou duas letras representativas de um país (pt, br,...)
	Subdividir o domínio de forma a contar os CaracteresNaoEspeciaiss*/
	var formatoPalavra=new RegExp(palavra,"g")
	var domArr=dominio.match(formatoPalavra)
	var tamanho=domArr.length
	if (domArr[domArr.length-1].length<2 || domArr[domArr.length-1].length>3) {
		// O endereço de correio electrónico deve terminar em duas ou três letras.
	//	alert("O endereço deve terminar com três letras de domínio ou duas relativas ao país!")
		return false
																			  }
	// Ter a certeza de que o domínio é precedido pelo anfitrião.
	if (tamanho<2) {
		var erro="Neste endereço falta o nome do anfitrião!"
	//	alert(erro)
		return false
			   }
	// Se o endereço for válido:
	return true;
								  }
// Submeter formulário
function submeterFormulario(formularioOK) {
	// No caso de termos Internet Explorer 4 (ou superior) ou Netscape Navigator 6 (ou superior)
	if (document.all||document.getElementById) {
		// Capta todos os elementos do formulário preenchidos e analiza o clique nos botões "submit" e "reset"
		for (i=0;i<formularioOK.length;i++) {
			var campo=formularioOK.elements[i]
			if(campo.type.toLowerCase()=="submit"||campo.type.toLowerCase()=="reset")
			campo.disabled=true
			window.open ('agradecimento.asp', '_self')
									   }
											   }
							 }
// Fim do script formulario_parceiros.js -->
