// JavaScript Document

 function validar_vazio(campo, mensagem) {
    	if (campo.value == "") {
	        alert(mensagem);
    	    campo.focus();
        	return false;
	    } else if (campo.value.indexOf("'") != -1) {
		    alert("aspas simples é um caracter inválido");
    	    campo.focus();
        	return false;
		} else {
    	    return true;
	    }
 }
 
 
function checaCPF (CPF) {
	if (CPF.length != 11 || CPF == "00000000000" || CPF == "11111111111" ||
		CPF == "22222222222" ||	CPF == "33333333333" || CPF == "44444444444" ||
		CPF == "55555555555" || CPF == "66666666666" || CPF == "77777777777" ||
		CPF == "88888888888" || CPF == "99999999999") {
		alert('cpf inválido');
		return false;
	}
	
	//O CPF ABAIXO ESTÁ IMPEDIDO DE FAZER SOLICITAÇÕES NO AGILFAP POR UM PERÍODO DE 10 anos a contar de 24/02/2010 
	if(CPF == "49079575404"){
		return false
		alert('O portador deste CPF está impedido de fazer solicitações no AgilFAP tendo em vista a condenação nos autos do processo de número 0000125-40.2008.4.05.8300')
	}

	
	
	
	soma = 0;
	for (i=0; i < 9; i ++)
		soma += parseInt(CPF.charAt(i)) * (10 - i);
	resto = 11 - (soma % 11);
	if (resto == 10 || resto == 11)
		resto = 0;
	if (resto != parseInt(CPF.charAt(9))) {
		alert('cpf inválido');
		return false;
	}
	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))) {
		alert('cpf inválido');
		return false;
	}
	return true;
 }

 
 function valida_email(campo) {
    	if (campo.value !='') {
        	if ( (campo.value.indexOf('@')==-1) ||
            	 (campo.value.indexOf('.')==-1) ||
	             (campo.value.indexOf(' ')!=-1) ||
    	         (campo.value.indexOf('@.')!=-1) ||
        	     (campo.value.indexOf('.@')!=-1) ||
            	 (campo.value.length < 6) ) {
		            alert('E-mail inválido');
        		    //form1.email.select();
		            campo.focus();
        		    return false;
	        }
			return true;
    	}
 }

 
 function valida_data(it1,it2,it3,mensagem) {


	if((it1.value.toString() == '') ||
	   (it2.value.toString() == '') ||
	   (it3.value.toString() == '')) {
			   alert(mensagem);
			   return false;
    }
   data=it1.value.toString()+'/'+it2.value.toString()+'/'+it3.value.toString();
   
   dia='';
   mes='';
   ano='';
   cont=0;
   diasArray = new Array(0,31,28,31,30,31,30,31,31,30,31,30,31)

   for (i=0; i < data.length; i++){
	if (data.charAt(i) != "/" && data.charAt(i) != "."){
	   if (cont==0) dia += data.charAt(i);
	   else if (cont==1) mes += data.charAt(i);
	   else if (cont==2) ano += data.charAt(i);
	   else i=data.length;
	}
	else cont++;
   }

   if(dia.charAt(0)=='0') { dia = dia.charAt(1) }
   if(mes.charAt(0)=='0') { mes = mes.charAt(1) }

   if(dia > 31 || dia < 1 ) {
		mes = 0;
		dia = 1;
	}

   if (mes > 12 || mes < 0) {
   		mes = 0;
		dia = 1;
   }


   if ( dia <= diasArray[mes]) { }
   else {
   		if( dia==29 && mes==2 && (ano==4*Math.round(ano/4)) && (ano!=100*Math.round(ano/100)) )  { }
		else {
			alert('Data em formato inválido.')
			it1.value = '';
			it2.value = '';
			it3.value = '';
			return false;
		}
   }

   if( ano < 1900 || ano > 3000 )
	{
		alert('Data em formato inválido.');		
		it1.value = '';
		it2.value = '';
		it3.value = '';
		return false;
	} else {
    	return true;
    }
    return true;
}



//fu7ncao auto tab e sub funcoes
var isNN = (navigator.appName.indexOf("Netscape")!=-1);
function autoTab(input,len, e) {
var keyCode = (isNN) ? e.which : e.keyCode; 
var filter = (isNN) ? [0,8,9] : [0,8,9,16,17,18,37,38,39,40,46];
if(input.value.length >= len && !containsElement(filter,keyCode)) {
input.value = input.value.slice(0, len);
input.form[(getIndex(input)+1) % input.form.length].focus();
}
function containsElement(arr, ele) {
var found = false, index = 0;
while(!found && index < arr.length)
if(arr[index] == ele)
found = true;
else
index++;
return found;
}
function getIndex(input) {
var index = -1, i = 0, found = false;
while (i < input.form.length && index == -1)
if (input.form[i] == input)index = i;
else i++;
return index;
}
return true;
}
//fim auto tab

