/* --- JQuery based --- 
--------------------- Instruções ----------------------------
Na página em que está o formulário a ser validado:
- insira a chamada ao framework jquery
- insira a chamada a este arquivo
- Os campos devem ter labels correspondentes com o atributo "for" preenchido corretamente com o id do campo.
- Os ids e os nomes dos campos devem ser iguais
- insira o atributo "class=required" nos campos que devem ser validados
--- Caso seja um campo para email insira o atributo "class=required_email" que verificará se o valor do campo tem formato de email (com @ e .)
- insira em qualquer ligar da página <div id="valida_msg"></div>
-- Insira em seu css:
	.msg_validacao {
		display:none;
		color:#FF0000;
	}
-------------------------------------------------------------
*/

$(document).ready(function() {
    
	$("#nome").focus();
	
	$(".required").focusout(function() {
	var id = $(this).attr("id");
	var offset = $(this).offset();
	var nome = $("label[for='"+id+"']").html();
	var nome = nome.replace(":","");
	var nome = nome.replace("*","");
	var largura = $(this).width();
	var top = offset.top;
	var left = offset.left + largura + 7;

	if ($(this).val() == "" || $(this).val().length < 2 ){
		$("#valida_msg").clone().attr("id","valida_"+id).appendTo(document.body);
		$("#valida_"+id).attr("class","msg_validacao");
		$("#valida_"+id).html("*Preencha corretamente o campo " + nome + ".");
		$("#valida_"+id).attr("style","position:absolute;top:" + top + "px;left:" + left + "px;");
		$("#valida_"+id).show();
	}
	else{
		$("#valida_"+id).hide();
	}
	});
	
	$(".required_email").focusout(function() {
	var id = $(this).attr("id");
	var offset = $(this).offset();
	var nome = $("label[for='"+id+"']").html();
	var nome = nome.replace(":","");
	var nome = nome.replace("*","");
	var largura = $(this).width();
	var top = offset.top;
	var left = offset.left + largura + 7;

	if ($(this).val() == "" || $(this).val().length < 2 || $(this).val().indexOf("@") == -1 || $(this).val().indexOf(".") == -1 ){
		$("#valida_msg").clone().attr("id","valida_"+id).appendTo(document.body);
		$("#valida_"+id).attr("class","msg_validacao");
		$("#valida_"+id).html("*Preencha corretamente o campo " + nome + ".");
		$("#valida_"+id).attr("style","position:absolute;top:" + top + "px;left:" + left + "px;");
		$("#valida_"+id).show();
	}
	else{
		$("#valida_"+id).hide();
	}
	});
	

	
	$("#form_required").submit(function() {
		var str_fields = $(this).serialize();
		arr_fields = str_fields.split('&');
		var n = arr_fields.length;
		var envia = "S";
		
		for (i=0; i < n ; i++){
			var vitem = arr_fields[i];
			arr_item = vitem.split('=');
			var id_item = arr_item[0];
			var classe = $("#"+id_item).attr("class");
			var valor = $("#"+id_item).val();
			if (classe == "required" && valor.length < 2){
				var valor = $("#"+id_item).focus();
				var valor = $("#"+id_item).focusout();
				envia = "N";
			}
			if (classe == "required_email" && (valor.length < 2 || valor.indexOf("@") == -1 || valor.indexOf(".") == -1 )){
				var valor = $("#"+id_item).focus();
				var valor = $("#"+id_item).focusout();
				envia = "N";
			}
		}
		
		if (envia == "N"){
			return false;
		}
		else{
			$(this).submit();
			return true;
		}
			
	});
	
});
