// JavaScript Document

var $jQvalida = jQuery.noConflict();

$jQvalida(document).ready(function() {
	$jQvalida('.validaform_check').change(
	function() {
		REvalidaForm(this.id);
	});
});

function REvalidaForm(id) {
	
	var label_prefix = 'label_';
	var class_check = 'validaform_obrigatorio';
	var class_ok = 'validaform_obrigatorio_ok';
	var class_erro = 'validaform_obrigatorio_erro';
	
	// Verificando se existe "label_"
	if (document.getElementById(label_prefix+id)!=null) {

		var txt = document.getElementById(id).value;		
		var tit = document.getElementById(id).title;
		
		if (txt=='' || txt==tit) {
			removeClass(document.getElementById(label_prefix+id),class_check);
			removeClass(document.getElementById(label_prefix+id),class_ok);
			addClass(document.getElementById(label_prefix+id),class_erro);
		} else {
//			alert('TXT('+txt+') TIT('+tit+')');
			removeClass(document.getElementById(label_prefix+id),class_check);
			removeClass(document.getElementById(label_prefix+id),class_erro);
			addClass(document.getElementById(label_prefix+id),class_ok);
		}
		
	}
	
}

function validaForm(formulario,label_prefix,class_check,class_erro,class_ok) {
/*
	var label_prefix	= 'label_';
	var class_check		= 'Campo_Check';
	var class_erro		= 'Campo_Erro';
	var class_ok		= 'Campo_Ok';
*/

	var teste 	= 0;
	var error 	= 0;
	var relatorio_erros = '';
	var report 	= '';

	if (teste) alert('Iniciando teste ...');

	for (var camp=0; camp<=1; camp++) {

		if (camp==0) var campos = formulario.getElementsByTagName('input');
		else var campos = formulario.getElementsByTagName('textarea');

		for (var x=0; x<campos.length; x++) {

			if (campos[x].name!='' && (document.getElementById(label_prefix+campos[x].name)!=null)) { // Verificando se é válido

				if (teste) report += 'CAMPO['+campos[x].name+'] === Iniciando Teste ('+document.getElementById(label_prefix+campos[x].name)+')...<br>';
				else if (temClass(document.getElementById(label_prefix+campos[x].name),class_check) || temClass(document.getElementById(label_prefix+campos[x].name),class_erro) || temClass(document.getElementById(label_prefix+campos[x].name),class_ok)) {
					if (campos[x].value=='' || campos[x].value==campos[x].title) {
						removeClass(document.getElementById(label_prefix+campos[x].name),class_check);
						removeClass(document.getElementById(label_prefix+campos[x].name),class_ok);
						addClass(document.getElementById(label_prefix+campos[x].name),class_erro);
						if (teste) report += 'CAMPO['+campos[x].name+'] === *ERRO*<br>';

						var campo_erro = document.getElementById(label_prefix+campos[x].name).innerHTML;
						if (campo_erro=='') campo_erro = campos[x].name;
						relatorio_erros+= '» Campo "<b>'+campo_erro.replace(":", "")+'</b>" de preenchimento obrigatório;<br>'
						
						error++;
					} else {
						removeClass(document.getElementById(label_prefix+campos[x].name),class_check);
						removeClass(document.getElementById(label_prefix+campos[x].name),class_erro);
						addClass(document.getElementById(label_prefix+campos[x].name),class_ok);
						if (teste) report = report + 'CAMPO['+campos[x].name+'] === !OK!<br>';
					}
				}
				
			}

		}

	}
	
	if (teste) {
		jAlert(report, 'Relatório de Análise do Formulário :: Erros('+error+')');
		return false;
	}
	
	if (error) {
		jAlert('Há campos obrigatórios ainda não preenchidos:<br><br>'+relatorio_erros, 'Falha ao tentar processar formulário');
		return false;
	} else {
		return true;
	}

}

