// forms.js
//=================================================================
	var sPrefix = 'O campo ';
	var sSuffix = ' é de preenchimento obrigatório!';
	var sSuffix_num = 'tem que ser um valor numérico';
//=================================================================

//Validação do formulário para Lojas (core/backoffice/stores/manage.jsp)
function ValidateStore() {
	var oForm = GetForm(0);
	var isError = "";
	var firstElementError = "";
	
	/*	
	if (!validateElement(oForm.elements['shortname'], 1, 'text')  &&  !validateElement(oForm.elements['longname'], 1, 'text')  ) {
		alert(sPrefix + " 'Nome curto ou Nome longo' " +sSuffix);
		SelectElement(oForm.elements['longname']);
		return false;
	}
	
	if (!validateElement(oForm.elements['street'], 1, 'text')  &&  !validateElement(oForm.elements['street'], 1, 'text')  ) {
		alert(sPrefix + " 'Morada' " +sSuffix);
		SelectElement(oForm.elements['street']);
		return false;
	}
	

	if (!validateElement(oForm.elements['cp4'], 1, 'number')) {
		isError += "-" + " 'Código Postal' " + sSuffix_num + "\n";
		if (firstElementError=="")
			firstElementError = "cp4";
	} else if (!validateSize(oForm.elements['cp4'], 4, 0,0)) {
		isError += "-" + " 'Código Postal' tem que ter 4 ou '4+3' digítos."  + "\n";
		if (firstElementError=="")
			firstElementError = "cp4";
	} else if (!validateElement(oForm.elements['cp3'], 0, 'number')) {
		isError += "-" + " 'Código Postal' " + sSuffix_num  + "\n";
		if (firstElementError=="")
			firstElementError = "cp3";
	} else if (!validateSize(oForm.elements['cp3'], 3, 0,0)) {
		isError += "-" + " 'Código Postal' tem que ter 4 ou '4+3' digítos." + "\n";
		if (firstElementError=="")
			firstElementError = "cp3";
	}

	if (!validateElement(oForm.elements['phone'], 0, 'number')) {
		isError += "-" + " 'Telefone' " +sSuffix_num + "\n";
		if (firstElementError=="")
			firstElementError = "phone";
	} else if (!validateSize(oForm.elements['phone'], 9, 0,0)) {
		isError += "-" + " 'Telefone' tem que ter comprimento 9" + "\n";
		if (firstElementError=="")
			firstElementError = "phone";	
	}

	if (!validateElement(oForm.elements['fax'], 0, 'number')) {
		isError += "-" + " 'FAX' " +sSuffix_num + "\n";
		if (firstElementError=="")
			firstElementError = "fax";
	} else if (!validateSize(oForm.elements['fax'], 9, 0,0)) {
		isError += "-" + " 'Fax' tem que ter comprimento 9" + "\n";
		if (firstElementError=="")
			firstElementError = "fax";	
	}

	if (!validateElement(oForm.elements['email'], 0, 'email')) {
		isError += "-" + " 'Email Site' não apresenta um formato válido." + "\n";
		if (firstElementError=="")
			firstElementError = "email";
	}
*/
	cleanMail(oForm.carcontactemail);
	var listEmail = oForm.carcontactemail.value.split(',');
	for(var i=0;i<listEmail.length;i++) {
		email = listEmail[i];
		if (email!="" && !isEMail(email)) {
			isError += "-" + "No campo 'Email para enviar Pedidos Informação/Test-Drive' (" +  email +  ") não é válido." + "\n";
			if (firstElementError=="")
				firstElementError = "carcontactemail";
		}
	}
/*
	if(oForm.type.selectedIndex==0) {
		isError += "-" + " 'Tipo'"  + sSuffix + "\n";
		if (firstElementError=="")
			firstElementError = "type";	
	}

	if (!validateElement(oForm.elements['priority'], 1, 'number')) {
		isError += "-" + " 'Prioridade' " + sSuffix_num + "\n";
		if (firstElementError=="")
			firstElementError = "priority";
	}
	*/
	if (isError.length>0) {
		alert("Foram detectadas as seguintes incorrecções no preenchimento do formulário: \n" + isError);
		SelectElement(oForm.elements[firstElementError]);
		return false;
	}
	return true;
}

//Validação do formulário para banners (core/backoffice/banner/manage.jsp)
function ValidateBanner() {
	var oForm = GetForm(0);
	if(oForm.bannertype.selectedIndex==0) {
		alert(sPrefix + " 'Tipo' " +sSuffix);
		return false;
	}
	if (!validateElement(oForm.elements['title'], 1, 'text')) {
		alert(sPrefix + " 'Titulo' " +sSuffix);
		SelectElement(oForm.elements['title']);
		return false;
	}
	if (!validateElement(oForm.elements['width'], 1, 'number')) {
		alert(sPrefix + " 'Altura' " + sSuffix_num);
		SelectElement(oForm.elements['width']);
		return false;
	}
	if (!validateElement(oForm.elements['height'], 1, 'number')) {
		alert(sPrefix + " 'Largura' " + sSuffix_num);
		SelectElement(oForm.elements['height']);
		return false;
	}
	if (oForm.elements['dtstart'].value!="" && oForm.elements['dtend'].value!="") {
		if (oForm.elements['dtstart'].value>oForm.elements['dtend'].value) {
			alert(sPrefix + " Data Fim tem que ser superior à Data Inicio.");
			return false;
		}
	}
	return true;
}

// Função utilizada no Formulario de Emprego (/core/job/job.jsp)
function ValidateJob() {

	var oForm = GetForm(0);
	var isError = "";
	var firstElementError = "";

	if (!validateElement(oForm.elements['name'], 1, 'text')) {
		isError += "-" + " 'Nome' " + sSuffix + "\n";
		firstElementError = "name";
	}

	if (!validateElement(oForm.elements['cp4'], 1, 'number')) {
		isError += "-" + " 'Código Postal' " + sSuffix_num + "\n";
		if (firstElementError=="")
			firstElementError = "cp4";
	} else if (!validateSize(oForm.elements['cp4'], 4, 0,0)) {
		isError += "-" + " 'Código Postal' tem que ter 4 ou '4+3' digítos."  + "\n";
		if (firstElementError=="")
			firstElementError = "cp4";
	} else if (!validateElement(oForm.elements['cp3'], 0, 'number')) {
		isError += "-" + " 'Código Postal' " + sSuffix_num  + "\n";
		if (firstElementError=="")
			firstElementError = "cp3";
	} else if (!validateSize(oForm.elements['cp3'], 3, 0,0)) {
		isError += "-" + " 'Código Postal' tem que ter 4 ou '4+3' digítos." + "\n";
		if (firstElementError=="")
			firstElementError = "cp3";
	}

	if (!validateElement(oForm.elements['cpext'], 1, 'text')) {
		isError += "-" + " 'Localidade' " +sSuffix + "\n";
		if (firstElementError=="")
			firstElementError = "cpext";
	}

	if (!validateElement(oForm.elements['phone'], 1, 'number')) {
		isError += "-" + " 'Telefone' " +sSuffix_num + "\n";
		if (firstElementError=="")
			firstElementError = "phone";
	} else if (!validateSize(oForm.elements['phone'], 9, 0,0)) {
		isError += "-" + " 'Telefone' tem que ter comprimento 9" + "\n";
		if (firstElementError=="")
			firstElementError = "phone";	
	}

	if (!validateElement(oForm.elements['birthday'], 1, 'text')) {
		isError += "-" + " 'Dt. Nascimento' " + sSuffix + "\n";
		if (firstElementError=="")
			firstElementError = "birthday";
	}

	if (!validateElement(oForm.elements['email'], 1, 'text')) {
		isError += "-" + " 'Email' " +sSuffix + "\n";
		if (firstElementError=="")
			firstElementError = "email";
	} else if (!validateElement(oForm.elements['email'], 0, 'email')) {
		isError += "-" + " 'Email' não apresenta um formato válido." + "\n";
		if (firstElementError=="")
			firstElementError = "email";
	}

	if (!validateElement(oForm.elements['course'], 1, 'text')) {
		isError += "-" + " 'Curso' " + sSuffix + "\n";
		if (firstElementError=="")
			firstElementError = "course";
	}

	if (!validateElement(oForm.elements['degree'], 1, 'text')) {
		isError += "-" + " 'Grau' " + sSuffix + "\n";
		if (firstElementError=="")
			firstElementError = "degree";
	}

	if (!validateElement(oForm.elements['salesarea'], 0, 'number')) {
		isError += "-" + " 'Área de vendas' " + sSuffix_num + "\n";
		if (firstElementError=="")
			firstElementError = "salesarea";
	}

	if (!validateElement(oForm.elements['administrativearea'], 0, 'number')) {
		isError += "-" + " 'Área administrativa' " + sSuffix_num + "\n";
		if (firstElementError=="")
			firstElementError = "administrativearea";
	}

	if (!validateElement(oForm.elements['tecnicalarea'], 0, 'number')) {
		isError += "-" + " 'Área técnica' " + sSuffix_num + "\n";
		if (firstElementError=="")
			firstElementError = "tecnicalarea";
	}
	
	if (isError.length>0) {
		alert("Foram detectadas as seguintes incorrecções no preenchimento do formulário: \n" + isError);
		SelectElement(oForm.elements[firstElementError]);
		return false;
	}
	return true;				
}

// Função utilizada no Formulario de Envio a Amigo (/core/friend/sendafriend.jsp)
function ValidateSendaFriend() {

	var oForm = GetForm(0);

	var isError = "";
	var firstElementError = "";

	if (!validateElement(oForm.elements['emailfrom'], 1, 'text')) {
		isError += "-" + " 'O seu email' " +sSuffix + "\n";
		if (firstElementError=="")
			firstElementError = "emailfrom";
	} else if (!validateElement(oForm.elements['emailfrom'], 0, 'email')) {
		isError += "-" + " 'O seu email' não apresenta um formato válido." + "\n";
		if (firstElementError=="")
			firstElementError = "emailfrom";
	}

	if (!validateElement(oForm.elements['emailto'], 1, 'text')) {
		isError += "-" + " 'O email do seu amigo' " +sSuffix + "\n";
		if (firstElementError=="")
			firstElementError = "emailto";
	} else if (!validateElement(oForm.elements['emailto'], 0, 'email')) {
		isError += "-" + " 'O email do seu amigo' não apresenta um formato válido." + "\n";
		if (firstElementError=="")
			firstElementError = "emailto";
	}

if (isError.length>0) {
		alert("Foram detectadas as seguintes incorrecções no preenchimento do formulário: \n" + isError);
		SelectElement(oForm.elements[firstElementError]);
		return false;
	}
	return true;				
}

// Função utilizada no Formulario de Test Drive (/core/testedrive/request.jsp)
function ValidateTestDrive(nrplate) {

	var oForm = GetForm(0);
	var isError = "";
	var firstElementError = "";

	if (!validateElement(oForm.elements['name'], 1, 'text')) {
		isError += "-" + " 'Nome' " + sSuffix + "\n";
		firstElementError = "name";
	}

	if (!validateElement(oForm.elements['cp4'], 1, 'number')) {
		isError += "-" + " 'Código Postal' " + sSuffix_num + "\n";
		if (firstElementError=="")
			firstElementError = "cp4";
	} else if (!validateSize(oForm.elements['cp4'], 4, 0,0)) {
		isError += "-" + " 'Código Postal' tem que ter 4 ou '4+3' digítos."  + "\n";
		if (firstElementError=="")
			firstElementError = "cp4";
	} else if (!validateElement(oForm.elements['cp3'], 0, 'number')) {
		isError += "-" + " 'Código Postal' " + sSuffix_num  + "\n";
		if (firstElementError=="")
			firstElementError = "cp3";
	} else if (!validateSize(oForm.elements['cp3'], 3, 0,0)) {
		isError += "-" + " 'Código Postal' tem que ter 4 ou '4+3' digítos." + "\n";
		if (firstElementError=="")
			firstElementError = "cp3";
	}

	if (!validateElement(oForm.elements['cpext'], 1, 'text')) {
		isError += "-" + " 'Localidade' " +sSuffix + "\n";
		if (firstElementError=="")
			firstElementError = "cpext";
	}

	if (!validateElement(oForm.elements['phone'], 1, 'number')) {
		isError += "-" + " 'Telefone' " +sSuffix_num + "\n";
		if (firstElementError=="")
			firstElementError = "phone";
	} else if (!validateSize(oForm.elements['phone'], 9, 0,0)) {
		isError += "-" + " 'Telefone' tem que ter comprimento 9" + "\n";
		if (firstElementError=="")
			firstElementError = "phone";
	}

	if (!validateElement(oForm.elements['dttestdrive'], 1, 'text')) {
		isError += "-" + " 'Data' " + sSuffix + "\n";
		if (firstElementError=="")
			firstElementError = "dttestdrive";
	}

	var hoje = new Date();
	var mes = hoje.getMonth() + 1;
	var strhoje = hoje.getFullYear() + "-" + (mes<10? "0":"") + mes + "-" + (hoje.getDate()<10?"0":"") + hoje.getDate();
	if ((oForm.elements['dttestdrive'].value)!="" && oForm.elements['dttestdrive'].value <=(strhoje)) {
		isError += "-" + " 'Data' tem que ter uma data posterior à data de hoje." + "\n";
		if (firstElementError=="")
			firstElementError = "dttestdrive";
	}

	if (!validateElement(oForm.elements['email'], 1, 'text')) {
		isError += "-" + " 'Email' " +sSuffix + "\n";
		if (firstElementError=="")
			firstElementError = "email";
	} else if (!validateElement(oForm.elements['email'], 0, 'email')) {
		isError += "-" + " 'Email' não apresenta um formato válido." + "\n";
		if (firstElementError=="")
			firstElementError = "email";
	}

	if (!validateElement(oForm.elements['age'], 0, 'number')) {
		isError += "-" + " 'Idade' " +sSuffix_num + "\n";
		if (firstElementError=="")
			firstElementError = "age";
	}

	if (!validateElement(oForm.elements['currentcaryear'], 0, 'number')) {
		isError += "-" + " 'Ano' " +sSuffix_num + "\n";
		if (firstElementError=="")
			firstElementError = "currentcaryear";
	}
	
	/*	if (nrplate=='') {
		if (!validateElement(oForm.elements['brandname'], 1, 'text')) {
			isError += "-" + " 'Marca' " + sSuffix + "\n";
			if (firstElementError=="")
				firstElementError = "brandname";
		}
		if (!validateElement(oForm.elements['modelname'], 1, 'text')) {
			isError += "-" + " 'Modelo' " + sSuffix + "\n";
			if (firstElementError=="")
				firstElementError = "modelname";
		}
	}

	var notdlr = document.getElementById("notdealerpretended");
	if(oForm.district.selectedIndex!=0) {
		if (oForm.company.options.selectedIndex==-1 || oForm.company.options.selectedIndex==0) {
			isError += "-" + " Deve indicar o 'Concessionário' onde pretende efectuar o Test Drive." + "\n";
			if (firstElementError=="")
				firstElementError = "company";
		}
	}
	if (!validateElement(oForm.elements['dttestdrive'], 1, 'text')) {
		alert(sPrefix + " 'Data' " +sSuffix);
		SelectElement(oForm.elements['dttestdrive']);
		return false;
	}
*/
	var hoje = new Date();
	var mes = hoje.getMonth() + 1;
	var strhoje = hoje.getFullYear() + "-" + (mes<10? "0":"") + mes + "-" + (hoje.getDate()<10?"0":"") + hoje.getDate();
	if ((oForm.elements['dttestdrive'].value)!="" && oForm.elements['dttestdrive'].value <=(strhoje)) {
		isError += "-" + " 'Data' tem que ter uma data posterior à data de hoje." + "\n";
		if (firstElementError=="")
			firstElementError = "dttestdrive";
	}

/*	if (oForm.testdrivehour.options.selectedIndex==0) {
		alert(sPrefix + " 'Hora' " +sSuffix);
		return false;
	}

	if (!validateElement(oForm.elements['obs'], 1, 'textarea')) {
		alert(sPrefix + " 'Observações' " +sSuffix);
		SelectElement(oForm.elements['obs']);
		return false;
	}
*/	
	if (!validateSize(oForm.elements['obs'], 500, 1,0)) {
		isError += "-" + " 'Observações' está limitado a 500 caracteres." + "\n";
		if (firstElementError=="")
			firstElementError = "obs";
	}

	if (isError.length>0) {
		alert("Foram detectadas as seguintes incorrecções no preenchimento do formulário: \n" + isError);
		SelectElement(oForm.elements[firstElementError]);
		return false;
	}
	return true;				
}


// Função utilizada no Formulario de Pesquisa Personalizada (/core/search/detail.jsp)

function ValidateDetailSearch() {

	var oForm = GetForm(0);
	
	var isError = "";
	var firstElementError = "";

	if (!validateElement(oForm.elements['name'], 1, 'text')) {
		isError += "-" + " 'Nome' " + sSuffix + "\n";
		firstElementError = "name";
	}

	if (!validateElement(oForm.elements['street'], 1, 'text')) {
		isError += "-" + " 'Morada' " + sSuffix + "\n";
		firstElementError = "street";
	}

	if (!validateElement(oForm.elements['cp4'], 1, 'number')) {
		isError += "-" + " 'Código Postal' " + sSuffix_num + "\n";
		if (firstElementError=="")
			firstElementError = "cp4";
	} else if (!validateSize(oForm.elements['cp4'], 4, 0,0)) {
		isError += "-" + " 'Código Postal' tem que ter 4 ou '4+3' digítos."  + "\n";
		if (firstElementError=="")
			firstElementError = "cp4";
	} else if (!validateElement(oForm.elements['cp3'], 0, 'number')) {
		isError += "-" + " 'Código Postal' " + sSuffix_num  + "\n";
		if (firstElementError=="")
			firstElementError = "cp3";
	} else if (!validateSize(oForm.elements['cp3'], 3, 0,0)) {
		isError += "-" + " 'Código Postal' tem que ter 4 ou '4+3' digítos." + "\n";
		if (firstElementError=="")
			firstElementError = "cp3";
	}

	if (!validateElement(oForm.elements['cpext'], 1, 'text')) {
		isError += "-" + " 'Localidade' " +sSuffix + "\n";
		if (firstElementError=="")
			firstElementError = "cpext";
	}

	if (!validateElement(oForm.elements['phone'], 1, 'number')) {
		isError += "-" + " 'Telefone' " +sSuffix_num + "\n";
		if (firstElementError=="")
			firstElementError = "phone";
	} else if (!validateSize(oForm.elements['phone'], 9, 0,0)) {
		isError += "-" + " 'Telefone' tem que ter comprimento 9" + "\n";
		if (firstElementError=="")
			firstElementError = "phone";	
	}

	if (!validateElement(oForm.elements['email'], 1, 'text')) {
		isError += "-" + " 'Email' " +sSuffix + "\n";
		if (firstElementError=="")
			firstElementError = "email";
	} else if (!validateElement(oForm.elements['email'], 0, 'email')) {
		isError += "-" + " 'Email' não apresenta um formato válido." + "\n";
		if (firstElementError=="")
			firstElementError = "email";
	}

	if (!validateElement(oForm.elements['brand'], 1, 'text')) {
		isError += "-" + " 'Marca' " + sSuffix + "\n";
		firstElementError = "brand";
	}

	if (!validateElement(oForm.elements['model'], 1, 'text')) {
		isError += "-" + " 'Modelo' " + sSuffix + "\n";
		firstElementError = "model";
	}

	if (!validateElement(oForm.elements['year'], 0, 'number')) {
		isError += "-" + " 'Ano' " + sSuffix_num  + "\n";
		if (firstElementError=="")
			firstElementError = "year";
	}

	if (!validateElement(oForm.elements['km'], 0, 'number')) {
		isError += "-" + " 'Quilometragem' " + sSuffix_num  + "\n";
		if (firstElementError=="")
			firstElementError = "km";
	}

	if (!validateElement(oForm.elements['nrdoors'], 0, 'number')) {
		isError += "-" + " 'Nº Portas' " + sSuffix_num  + "\n";
		if (firstElementError=="")
			firstElementError = "nrdoors";
	}

	 if (!validateSize(oForm.elements['comments'], 500, 1,0)) {
		isError += "-" + " 'Comentários' está limitado a 500 caracteres." + "\n";
		if (firstElementError=="")
			firstElementError = "comments";
	}

	if (isError.length>0) {
		alert("Foram detectadas as seguintes incorrecções no preenchimento do formulário: \n" + isError);
		SelectElement(oForm.elements[firstElementError]);
		return false;
	}
	return true;				
}

// Função utilizada no Formulario da Pesquisa Avançada (/core/advancedsearch.jsp)
function ValidateAdvancedSearch() {

	var oForm = GetForm(0);

	var isError = "";
	var firstElementError = "";

	if (oForm.elements['yearfrom'].value != "" && oForm.elements['yearto'].value != ""){
		if (parseInt(oForm.elements['yearfrom'].value) > parseInt(oForm.elements['yearto'].value)) {
		isError += "-" + " 'Ano de' tem que ser inferior ao 'Ano até'" + "\n";
		firstElementError = "yearfrom";
		}
	}

	if (oForm.elements['pricefrom'].value != "" && oForm.elements['priceto'].value != ""){
		if (parseInt(oForm.elements['pricefrom'].value) >= parseInt(oForm.elements['priceto'].value)) {
		isError += "-" + " 'Preço de' tem que ser inferior ao 'Preço até'" + "\n";
		firstElementError = "pricefrom";
		}
	}

	if (isError.length>0) {
		alert("Foram detectadas as seguintes incorrecções no preenchimento do formulário: \n" + isError);
		SelectElement(oForm.elements[firstElementError]);
		return false;
	}
	return true;				
}

// Função utilizada no Formulario Pedido de Informação (/core/contact/contact.jsp)
function ValidateContact() {

	var oForm = GetForm(0);
	var isError = "";
	var firstElementError = "";

	if (!validateElement(oForm.elements['name'], 1, 'text')) {
		isError += "-" + " 'Nome' " + sSuffix + "\n";
		firstElementError = "name";
	}

	if (!validateElement(oForm.elements['cp4'], 1, 'number')) {
		isError += "-" + " 'Código Postal' " + sSuffix_num + "\n";
		if (firstElementError=="")
			firstElementError = "cp4";
	} else if (!validateSize(oForm.elements['cp4'], 4, 0,0)) {
		isError += "-" + " 'Código Postal' tem que ter 4 ou '4+3' digítos."  + "\n";
		if (firstElementError=="")
			firstElementError = "cp4";
	} else if (!validateElement(oForm.elements['cp3'], 0, 'number')) {
		isError += "-" + " 'Código Postal' " + sSuffix_num  + "\n";
		if (firstElementError=="")
			firstElementError = "cp3";
	} else if (!validateSize(oForm.elements['cp3'], 3, 0,0)) {
		isError += "-" + " 'Código Postal' tem que ter 4 ou '4+3' digítos." + "\n";
		if (firstElementError=="")
			firstElementError = "cp3";
	}

	if (!validateElement(oForm.elements['cpext'], 1, 'text')) {
		isError += "-" + " 'Localidade' " +sSuffix + "\n";
		if (firstElementError=="")
			firstElementError = "cpext";
	}

	if (!validateElement(oForm.elements['phone'], 0, 'number')) {
		isError += "-" + " 'Telefone' " + sSuffix_num + "\n";
		if (firstElementError=="")
			firstElementError = "phone";
	}
	
	if (!validateElement(oForm.elements['email'], 1, 'text')) {
		isError += "-" + " 'Email' " +sSuffix + "\n";
		if (firstElementError=="")
			firstElementError = "email";
	} else if (!validateElement(oForm.elements['email'], 0, 'email')) {
		isError += "-" + " 'Email' não apresenta um formato válido." + "\n";
		if (firstElementError=="")
			firstElementError = "email";
	}

	if (!validateElement(oForm.elements['subject'], 1, 'textarea')) {
		isError += "-" + " 'Assunto' " +sSuffix + "\n";
		if (firstElementError=="")
			firstElementError = "subject";
	} else if (!validateSize(oForm.elements['subject'], 100, 1,0)) {
		isError += "-" + " 'Assunto' está limitado a 100 caracteres." + "\n";
		if (firstElementError=="")
			firstElementError = "subject";
	}

	if (!validateElement(oForm.elements['comments'], 1, 'textarea')) {
		isError += "-" + " 'Mensagem' " +sSuffix + "\n";
		if (firstElementError=="")
			firstElementError = "comments";
	} else if (!validateSize(oForm.elements['comments'], 500, 1,0)) {
		isError += "-" + " 'Mensagem' está limitado a 500 caracteres." + "\n";
		if (firstElementError=="")
			firstElementError = "comments";
	}

	if (isError.length>0) {
		alert("Foram detectadas as seguintes incorrecções no preenchimento do formulário: \n" + isError);
		SelectElement(oForm.elements[firstElementError]);
		return false;
	}
	return true;				
}

function ValidateNewsletter() {

	var oForm = GetForm(0);
	var isError = "";
	var firstElementError = "";

	if (!validateElement(oForm.elements['name'], 1, 'text')) {
		isError += "-" + " 'Nome' " + sSuffix + "\n";
		firstElementError = "name";
	}

	
	if (!validateElement(oForm.elements['email'], 1, 'text')) {
		isError += "-" + " 'Email' " +sSuffix + "\n";
		if (firstElementError=="")
			firstElementError = "email";
	} else if (!validateElement(oForm.elements['email'], 0, 'email')) {
		isError += "-" + " 'Email' não apresenta um formato válido." + "\n";
		if (firstElementError=="")
			firstElementError = "email";
	}

	if (isError.length>0) {
		alert("Foram detectadas as seguintes incorrecções no preenchimento do formulário: \n" + isError);
		SelectElement(oForm.elements[firstElementError]);
		return false;
	}
	return true;				
}

// Função utilizada no Formulario Pedido de Informação (/core/request/requestinfo.jsp)
function ValidateRequestInfo() {

	var oForm = GetForm(0);
	var isError = "";
	var firstElementError = "";

	if (!validateElement(oForm.elements['name'], 1, 'text')) {
		isError += "-" + " 'Nome' " + sSuffix + "\n";
		firstElementError = "name";
	}

	if (!validateElement(oForm.elements['cp4'], 1, 'number')) {
		isError += "-" + " 'Código Postal' " + sSuffix_num + "\n";
		if (firstElementError=="")
			firstElementError = "cp4";
	} else if (!validateSize(oForm.elements['cp4'], 4, 0,0)) {
		isError += "-" + " 'Código Postal' tem que ter 4 ou '4+3' digítos."  + "\n";
		if (firstElementError=="")
			firstElementError = "cp4";
	} else if (!validateElement(oForm.elements['cp3'], 0, 'number')) {
		isError += "-" + " 'Código Postal' " + sSuffix_num  + "\n";
		if (firstElementError=="")
			firstElementError = "cp3";
	} else if (!validateSize(oForm.elements['cp3'], 3, 0,0)) {
		isError += "-" + " 'Código Postal' tem que ter 4 ou '4+3' digítos." + "\n";
		if (firstElementError=="")
			firstElementError = "cp3";
	}

	if (!validateElement(oForm.elements['cpext'], 1, 'text')) {
		isError += "-" + " 'Localidade' " +sSuffix + "\n";
		if (firstElementError=="")
			firstElementError = "cpext";
	}

	if (!validateElement(oForm.elements['phone'], 0, 'number')) {
		isError += "-" + " 'Telefone' " + sSuffix_num + "\n";
		if (firstElementError=="")
			firstElementError = "phone";
	}
	
	if (!validateElement(oForm.elements['email'], 1, 'text')) {
		isError += "-" + " 'Email' " +sSuffix + "\n";
		if (firstElementError=="")
			firstElementError = "email";
	} else if (!validateElement(oForm.elements['email'], 0, 'email')) {
		isError += "-" + " 'Email' não apresenta um formato válido." + "\n";
		if (firstElementError=="")
			firstElementError = "email";
	}

	if (!validateElement(oForm.elements['comments'], 1, 'textarea')) {
		isError += "-" + " 'Mensagem' " +sSuffix + "\n";
		if (firstElementError=="")
			firstElementError = "comments";
	} else if (!validateSize(oForm.elements['comments'], 500, 1,0)) {
		isError += "-" + " 'Mensagem' está limitado a 500 caracteres." + "\n";
		if (firstElementError=="")
			firstElementError = "comments";
	}

	if (isError.length>0) {
		alert("Foram detectadas as seguintes incorrecções no preenchimento do formulário: \n" + isError);
		SelectElement(oForm.elements[firstElementError]);
		return false;
	}
	return true;				
}
