//----------PERSONALIZA (necessita JQuery)
var colorBgAlert = "#cccccc";
var colorBgAlertError = "#F1C812";

var arMsg = {
		pt:{
			inicial: "* campos necessários",
			erroVazios: "* os campos em destaque são necessários",
			msgErroEmails: "@ campo de email inválido",
			msgErroConfirmaSenha: "a senha e a confirmação não conferem"
			},
		en:{
			inicial: "* fields required",
			erroVazios: "* os campos em destaque são necessários",
			msgErroEmails: "@ campo de email inválido",
			msgErroConfirmaSenha: "a senha e a confirmação não conferem"
			},
		es:{
			inicial: "* campos necessários",
			erroVazios: "* os campos em destaque são necessários",
			msgErroEmails: "@ campo de email inválido",
			msgErroConfirmaSenha: "a senha e a confirmação não conferem"
			}
		};
//----------

if (!language) language = "pt";

$(function() {
	//destaca campos obrigatórios
	$('.val_noEmpty').each(function(i) {
		$(this).css('font-weight', 'bold');
		$(this).text($(this).text() + ' *');
	});
	//mensagem inicial
	$('#formAlerts').text(arMsg[language].inicial).css("backgroundColor", colorBgAlert);
});

function validacao() {
	var firstFieldError;
	//VALIDA CAMPOS QUE NÃO PODEM ESTAR VAZIO
	var foundEmpty = false;
	$('label.val_noEmpty').each(function(i) {
		var fieldError = false;
		var f = $(this).attr("for");
		var type = $("input[name='"+f+"']").attr("type");
		if (type == "radio") {
			//trata radio diferente
			fieldError = (($("input[name='"+f+"'][checked]").length == 0));
		} else {
			//outros inputs
			var v = $.trim($("#"+f).val());
			fieldError = (v == "");
		}
		//destaca ERROR
		if (fieldError) {
			foundEmpty = true;
			$(this).addClass("error");
			$("#"+f).addClass("error");
			if (!firstFieldError) firstFieldError = $("#"+f);
		} else {
			$(this).removeClass("error");
			$("#"+f).removeClass("error");
		}
	});
	//VALIDA EMAIL
	var foundEmailError = false;
	var filterEmail = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i;
	$('.val_email').each(function(i) {
		var fieldError = false;
		var f = $(this).attr("for");
		var v = $.trim($("#"+f).val());
		if(v != ""){
			fieldError = (!filterEmail.test(v));
			//destaca ERROR
			if (fieldError) {
				foundEmailError = true;
				$(this).addClass("error");
				$("#"+f).addClass("error");
				if (!firstFieldError) firstFieldError = $("#"+f);
			} else {
				$(this).removeClass("error");
				$("#"+f).removeClass("error");
			}
		}
	});
	//VALIDA SENHA E CONFIRMACAO
	var foundSenhaError = false;
	var fieldError = false;
	var f_senha = $(".val_Senha").attr("for");
	var senha_valor = $.trim($("#"+f_senha).val());
	var f_confirma = $("label.val_Confirma").attr("for");
	var confirma_valor = $.trim($("#"+f_confirma).val());
	fieldError = (senha_valor != confirma_valor);
	//destaca ERROR
	if (fieldError) {
		foundSenhaError = true;
		$("label.val_Confirma").addClass("error");
		$("#"+f_confirma).addClass("error");
		if (!firstFieldError) firstFieldError = $("#"+f_confirma);
	} else {
		$("label.val_Confirma").removeClass("error");
		$("#"+f_confirma).removeClass("error");
	}
	//mensagem de erro
	var msg = "";
	if (foundEmpty) msg += arMsg[language].erroVazios+"<br />";
	if (foundEmailError) msg += arMsg[language].msgErroEmails+"<br />";
	if (foundSenhaError) msg += arMsg[language].msgErroConfirmaSenha+"<br />";
	if (foundEmpty || foundEmailError || foundSenhaError)
		$('#formAlerts').html(msg)
						.css("backgroundColor", colorBgAlertError)
						.animate({backgroundColor:colorBgAlert}, "slow");
	if (firstFieldError) firstFieldError.focus();
	return (!foundEmpty && !foundEmailError && !foundSenhaError);
}