// JavaScript Document
$().ready(function() {
	$("#telefone").mask("(99) 9999-9999");
	$("#fax").mask("(99) 9999-9999");
	$("#celular").mask("(99) 9999-9999");	
	$("#end_cep").mask("99999-999");
	$("#cpf").mask("999.999.999-99");
	$("#cnpj").mask("99.999.999/9999-99");
	
	$("#frmRevista").validate({
		event: 				 "blur",
		errorContainer:		 $("#error_msg"),
		errorLabelContainer: $("#error_msg ul"),
		wrapper: 			 "li",
		
		rules: {
			nome:           { required: true },
			cpf:			{ required: true },
			empresa:        { required: true },
			cargo:	        { required: true },
			telefone:       { required: true },
			email:	        { required: true, email: true },
			end_tipo:		{ required: true },
			end_logradouro: { required: true },
			end_numero:		{ required: true, number: true },
			end_cep:		{ required: true },
			uf: 			{ required: true },
			cidade:			{ required: true },
			sugestao:	    { required: true },
			acao: 			{ required: true }
		},
		
		messages: {
			nome:           "Nome do participante",
			cpf: 			"CPF obrigatório",
			empresa:        "Nome da empresa",
			cargo:	        "Cargo ocupado na empresa",
			telefone:       "Telefone para contato",
			email:	        "Endereço de e-mail válido",
			end_tipo:		"Tipo de logradouro",
			end_logradouro: "Endereço",
			end_numero:		"Número do endereço",
			end_cep:		"CEP",
			uf:          	"Estado",
			cidade:			"Cidade",
			sugestao:    	"Justificativa",
			acao: 			"Especifique o motivo"
		}
	});
    

	$("#error_msg").corner("20px");
	
	$("#clear").click(function() {
		$("#frm_palestra").clearForm();
	});
})

function validaCPF(obj, str, alerta) {
	var numero;
	var digito = new Array(10); // array para os dígitos do CPF.
	var aux = 0; // índice para a string num.
	var posicao
	var i
	var soma
	var dv
	var dvInformado;

	if(obj != null) {
		str = obj.value;
	}

	//numero = _extraiNumero(str);

	// Retira os dígitos formatadores de CPF '.' e '-', caso existam.
	if (str.length > 0)	{
		while ((str.indexOf('.') != -1) || (str.indexOf('-') != -1)) {
			if (str.indexOf('.') != -1)	{
				aux = str.indexOf('.');
				str = str.substr(0, aux) + str.substr(aux+1, str.length-1);
			}

			if (str.indexOf('-') != -1)	{
				aux = str.indexOf('-');
				str = str.substr(0, aux) + str.substr(aux+1, str.length-1);
			}
		} //while
	} //if

	//verifica CPFs manjados
	switch (str) {
		case '0':
		case '00':
		case '000':
		case '0000':
		case '00000':
		case '000000':
		case '0000000':
		case '00000000':
		case '000000000':
		case '0000000000':
		case '00000000000':
		case '11111111111':
		case '22222222222':
		case '33333333333':
		case '44444444444':
		case '55555555555':
		case '66666666666':
		case '77777777777':
		case '88888888888':
		case '99999999999':
		obj.value = '';
		document.getElementById('alert_cpf').style.display='';
		obj.focus();
		return false;
	}

	// Início da validação do CPF.
	/* Retira do número informado os dois últimos dígitos */
	dvInformado = str.substr(9,2);

	/* Desmembra o número do CPF no array digito */
	for (i=0; i<=8; i++) {
		digito[i] = str.substr(i,1);
	}
	
	/* Calcula o valor do 10o. digito de verificação */
	posicao = 10;
	soma = 0;
	for (i=0; i<=8; i++) {
		soma = soma + digito[i] * posicao;
		posicao--;
	}

	digito[9] = soma % 11;
	if (digito[9] < 2) {
		digito[9] = 0;
	} else {
		digito[9] = 11 - digito[9];
	}
	
	/* Calcula o valor do 11o. digito de verificação */
	posicao = 11;
	soma = 0;
	for (i=0; i<=9; i++) {
		soma = soma + digito[i] * posicao;
		posicao--;
	}

	digito[10] = soma % 11;
	if (digito[10] < 2) {
		digito[10] = 0;
	} else {
		digito[10] = 11 - digito[10];
	}
	
	dv = digito[9] * 10 + digito[10];
	/* Verifica se o DV calculado é igual ao informado */

}