$(document).ready(function(){

	//-----------------------------------------------//
	// SCRIPT validação
	//-----------------------------------------------//
	$('form').submit( function() {
		var err_msg = '';
		var err_fld = '';
		
		$(':input', this).each( function() { 
			if($(this).attr('name') == "nome_completo" && $(this).val() == ""){
				err_msg+= "O campo 'Nome Completo' é obrigatório!\n";
				if(!err_fld) err_fld = $(this);
			}
			
			if($(this).attr('name') == "rg" && $(this).val() == ""){
				err_msg+= "O campo 'RG' é obrigatório!\n";
				if(!err_fld) err_fld = $(this);
			}
			
			if($(this).attr('name') == "cpf" && $(this).val() == ""){
				err_msg+= "O campo 'CPF' é obrigatório!\n";
				if(!err_fld) err_fld = $(this);
			} else if($(this).attr('name') == "cpf") {
				var cpf = $(this).val();
				
				for(a=0;a<cpf.length;a++){
					if((cpf.charAt(a)=='.') || (cpf.charAt(a)=='-')){
						cpf = cpf.substring(0,cpf.indexOf(cpf.charAt(a)))+cpf.substring(cpf.indexOf(cpf.charAt(a))+1,cpf.length)
					}
				}
    
				if(cpf.length != 11 || cpf == "00000000000" || cpf == "11111111111" || cpf == "22222222222" || cpf == "33333333333" || cpf == "44444444444" || cpf == "55555555555" || cpf == "66666666666" || cpf == "77777777777" || cpf == "88888888888" || cpf == "99999999999") { valido = 0; }
				else {					
					soma = 0;
					for(i = 0; i < 10; i ++) { soma += parseInt(cpf.charAt(i)) * (11 - i); }
					resto = 11 - (soma % 11);
					if(resto == 10 || resto == 11) { resto = 0; }					
					if(resto != parseInt(cpf.charAt(10))) { valido = 0; }
					else { valido = 1; }
				}
				
				if(valido == 0){
					err_msg+= "O CPF informado é inválido!\n";
					if(!err_fld) err_fld = $(this);
				}
			}
			
			if($(this).attr('name') == "cba_fed" && $(this).attr('checked') && $("input[name='cba_fed']:checked").val() == "1" && $('[name=cba_mat]').val() == ""){
				err_msg+= "O campo 'Matrícula CBA' é obrigatório para os pilotos federados!\n";
				if(!err_fld) err_fld = $(this);
			}
			
			if($(this).attr('name') == "part_ant" && $(this).attr('checked') && $("input[name='part_ant']:checked").val() == "1" && !$('[name=p2005]').attr('checked') && !$('[name=p2006]').attr('checked') && !$('[name=p2007]').attr('checked') && !$('[name=p2008]').attr('checked') && !$('[name=p2009]').attr('checked')){
				err_msg+= "Selecionar qual edição anterior participou!\n";
				if(!err_fld) err_fld = $(this);
			}
			
			if($(this).attr('name') == "idade" && $(this).val() == ""){
				err_msg+= "O campo 'Idade' é obrigatório!\n";
				if(!err_fld) err_fld = $(this);
			}
			
			if($(this).attr('name') == "peso" && $(this).val() == ""){
				err_msg+= "O campo 'Peso' é obrigatório!\n";
				if(!err_fld) err_fld = $(this);
			}
			
			if($(this).attr('name') == "altura" && $(this).val() == ""){
				err_msg+= "O campo 'Altura' é obrigatório!\n";
				if(!err_fld) err_fld = $(this);
			}
			
			if($(this).attr('name') == "endereco" && $(this).val() == ""){
				err_msg+= "O campo 'Endereço' é obrigatório!\n";
				if(!err_fld) err_fld = $(this);
			}
			
			if($(this).attr('name') == "bairro" && $(this).val() == ""){
				err_msg+= "O campo 'Bairro' é obrigatório!\n";
				if(!err_fld) err_fld = $(this);
			}
			
			if($(this).attr('name') == "cep" && $(this).val() == ""){
				err_msg+= "O campo 'CEP' é obrigatório!\n";
				if(!err_fld) err_fld = $(this);
			}
			
			if($(this).attr('name') == "cidade" && $(this).val() == ""){
				err_msg+= "O campo 'Cidade' é obrigatório!\n";
				if(!err_fld) err_fld = $(this);
			}
			
			if($(this).attr('name') == "estado" && $(this).val() == ""){
				err_msg+= "O campo 'Estado' é obrigatório!\n";
				if(!err_fld) err_fld = $(this);
			}
			
			if(($(this).attr('name') == "ddd_f" && $(this).val() == "") || ($(this).attr('name') == "num_f" && $(this).val() == "")){
				err_msg+= "O campo 'DDD + Telefone Fixo' é obrigatório!\n";
				if(!err_fld) err_fld = $(this);
			}
			
			if($(this).attr('name') == "email1" && $(this).val() == ""){
				err_msg+= "O campo 'E-mail de Contato' é obrigatório!\n";
				if(!err_fld) err_fld = $(this);
			} else if($(this).attr('name') == "email1"){
				var regmail = /^[\w!#$%&amp;'*+\/=?^`{|}~-]+(\.[\w!#$%&amp;'*+\/=?^`{|}~-]+)*@(([\w-]+\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/;
				if (! regmail.test($(this).val()) ) {
					err_msg+= "O E-mail de Contato informado é inválido!\n";
					if(!err_fld) err_fld = $(this);
				}				
			}
			
			if($(this).attr('name') == "email2" && $(this).val() != ""){
				var regmail = /^[\w!#$%&amp;'*+\/=?^`{|}~-]+(\.[\w!#$%&amp;'*+\/=?^`{|}~-]+)*@(([\w-]+\.)+[A-Za-z]{2,6}|\[\d{1,3}(\.\d{1,3}){3}\])$/;
				if (! regmail.test($(this).val()) ) {
					err_msg+= "O E-mail Alternativo informado é inválido!\n";
					if(!err_fld) err_fld = $(this);
				}				
			}
			
	    });

		if($("input[name='cba_fed']:checked").val() != "1" && $("input[name='cba_fed']:checked").val() != "0"){
			err_msg+= "Informe se é um piloto federado CBA!\n";
		}

		if($("input[name='part_ant']:checked").val() != "1" && $("input[name='part_ant']:checked").val() != "0"){
			err_msg+= "Informe se já participou de alguma edição do evento!\n";
		}

		if($("input[name='sexo']:checked").val() != "1" && $("input[name='sexo']:checked").val() != "2"){
			err_msg+= "O campo 'Sexo' é obrigatório!\n";
		}

		if(!$("input[name='representa']:checked").val()){
			err_msg+= "Selecione um estado para representar!\n";
		}

		if(!$("input[name='categoria']:checked").val()){
			err_msg+= "Selecione um categoria para participar!\n";
		} else {
			txt = valida_categoria();
			if(txt) err_msg+= txt;
		}
		
		if($("input[name='pagamento']:checked").val() != "1" && $("input[name='pagamento']:checked").val() != "2"){
			err_msg+= "Informe a forma de pagamento!\n";
		}

		if($("input[name='aceite']:checked").val() != "1"){
			err_msg+= 'Você precisa aceitar o termo de compromisso!\n';
		}

		if(err_msg){
			alert(err_msg);
			if(err_fld) err_fld.focus();
			return false;
		}
	});

	function valida_categoria(){
		var msg = '';
		
		if($("input[name='categoria']:checked").val() == "2"){
			if($('[name=peso]').val() < 80){
				msg = 'Para participar desta categoria você precisa ter no mínimo 80 kg!';
			}
		} else if($("input[name='categoria']:checked").val() == "3"){
			if($('[name=peso]').val() < 95){
				msg = 'Para participar desta categoria você precisa ter no mínimo 95 kg!';
			}
		} else if($("input[name='categoria']:checked").val() == "4"){
			if($('[name=idade]').val() < 45){
				msg = 'Para participar desta categoria você precisa ter no mínimo 45 anos!';
			}
		}
		
		return msg;
	}
	
	$('[name=categoria]').click( function() {
		txt = valida_categoria();
		if(txt) alert(txt);
	});


	$(':input','form').keydown( function(e) {
		if( ($(this).attr('class') == 'numero') ){
			var whichCode = e.keyCode;
			if( whichCode<35 || (whichCode>40 && whichCode<48) || (whichCode>57 && whichCode<90) || (whichCode>105 && whichCode<112) || whichCode>123 ){
				if(whichCode!=9 && whichCode!=8 && whichCode!=16 && whichCode!=46){
					return false;
				}
			}
		}
		
	});


});
