//Scripts para curriculo


//VALIDA DATA
function isDate(valor) {
dia = valor.substring(0, 2);
mes = valor.substring(3, 5);
ano = valor.substring(6,10);

if(valor.length < 10) return false;

if (isNaN(dia)==true) return false;
if (isNaN(mes)==true) return false;
if (isNaN(ano)==true) return false;

limites = new Array (12);
limites[0] = 31;
limites[1] = 28;
limites[2] = 31;//
limites[3] = 30;
limites[4] = 31;
limites[5] = 30;//
limites[6] = 31;
limites[7] = 31;
limites[8] = 30;
limites[9] = 31;
limites[10]= 30;
limites[11]= 31;

	if (mes == "2"){
		if (ano % 400 == 0 ){
			limites [1] = 29;
		}
		else {
			if ((ano % 4 == 0) && (ano % 100 != 0)){
				limites[1] = 29;
			}
		}
	}
	
	if (dia>=1 && dia<=limites[mes-1]){
		return true;
	}

return false;
}

//VALIDA CPF
function isCPF (Objcpf){
var cpf = Objcpf;
cpf = cpf.toString().replace(".", "" );
cpf = cpf.toString().replace(".", "" );
cpf = cpf.toString().replace("-", "" );
cpf = cpf.toString().replace("/", "" );
if (cpf == '00000000000' || cpf.length!=11) {
	return false;
}

var digitoDigitado = eval(cpf.charAt(9)+cpf.charAt(10));
var soma1=0, soma2=0;
var vlr =11;
var i=0;
	for(i=0;i<9;i++){
		soma1+=eval(cpf.charAt(i)*(vlr-1));
		soma2+=eval(cpf.charAt(i)*vlr);
	vlr--;
	}
	
	soma1 = (((soma1*10)%11)==10 ? 0:((soma1*10)%11));
	soma2=(((soma2+(2*soma1))*10)%11);

var digitoGerado=(soma1*10)+soma2;
retorno = true;

	if(digitoGerado!=digitoDigitado){
		retorno = false;
	}
	
return retorno;
}

//valida o CNPJ digitado
function isCNPJ(ObjCnpj){
var cnpj = ObjCnpj;
var valida = new Array(6,5,4,3,2,9,8,7,6,5,4,3,2);
var dig1= new Number;
var dig2= new Number;

exp = /\.|\-|\//g
cnpj = cnpj.toString().replace( exp, "" );

if (cnpj=='00000000000000' || cnpj.length!=14) return false;

var digito = new Number(eval(cnpj.charAt(12)+cnpj.charAt(13)));

	for(var i = 0; i<valida.length; i++){
		dig1 += (i>0? (cnpj.charAt(i-1)*valida[i]):0);
		dig2 += cnpj.charAt(i)*valida[i];
	}

	dig1 = (((dig1%11)<2)? 0:(11-(dig1%11)));
	dig2 = (((dig2%11)<2)? 0:(11-(dig2%11)));

ret = true;

	if(((dig1*10)+dig2) != digito){
		ret = false;
	}

return ret;
}

function isMail(email){
	
	
var d = email.split('@');
	if (d[0]!='' && d[1]!='' && d.length==2){
		
		return true;
	}
return false;
}

function validaTipo(form1){
num_elementos = form1.length;
t = true;
var i=0;
	for (i=0;i<num_elementos && t; i++) {	
		if (form1.elements[i].type!='undefined' && form1.elements[i].type!='hidden' && form1.elements[i].value!=""){
			v = form1.elements[i].name.split(':');
			if (v[2] == 'integer'){
				if (isNaN( parseInt(form1.elements[i].value) )==true) {
					alert('O campo "'+form1.elements[i].title+'" não é um número inteiro válido!');
				form1.elements[i].focus();
				t = false;
				break;				
				}				
			}
			else
			if (v[2] == 'real'){
				//if (isNaN( parseFloat(form1.elements[i].value) )==true) {
				if (isNaN( form1.elements[i].value )==true) {
					alert('O campo "'+form1.elements[i].title+'" não é um número real válido!');
				form1.elements[i].focus();
				t = false;
				break;				
				}
			}
			else
			if (v[2] == 'date'){
				if ( isDate(form1.elements[i].value)==false) {
					alert('O campo "'+form1.elements[i].title+'" não é uma Data válida!');
				form1.elements[i].focus();
				t = false;
				break;
				}
			}
			else
			if (v[2] == 'cpf'){
				if (isCPF (form1.elements[i].value) == false){
					alert('O campo "'+form1.elements[i].title+'" não é um CPF válido!');
				form1.elements[i].focus();
				t = false;
				break;
				}
			}
			else
			if (v[2] == 'cnpj'){
				if (isCNPJ (form1.elements[i].value) == false){
					alert('O campo "'+form1.elements[i].title+'" não é um CNPJ válido!');
				form1.elements[i].focus();
				t = false;
				break;
				}
			}
			else
			if (v[2] == 'email'){
				if (isMail(form1.elements[i].value) == false){
					alert('O campo "'+form1.elements[i].title+'" não é um e-mail válido!');
				form1.elements[i].focus();
				t = false;
				break;
				}
			}
		}
	}
	
return t;
}

function validaForm (form1) {
num_elementos = form1.length;
t = true;
var i=0;
	for (i=0;i<num_elementos && t; i++) {
		if (form1.elements[i].type!='undefined' && form1.elements[i].type!='hidden' && form1.elements[i].value==""){
			v = form1.elements[i].name.split(':');
			
			if (v.length == 4 && v[3] == 'required'){
				alert('Favor preencher o campo: '+form1.elements[i].title);
				form1.elements[i].focus();
				/*form1.elements[i].focus();
				alert('teste');*/
				t = false;
			}
		}
	}
	
	if (t == true){
		t = validaTipo(form1);
	}
	
return t;
}

function Mascara(objeto, evt, mask) {
valorAtual = objeto.value;
var LetrasU = 'ABCDEFGHIJKLMNOPQRSTUVWXYZÇÁÉÍÓÚÃÕÂÊÔÜÀ';
var LetrasL = 'abcdefghijklmnopqrstuvwxyzçáéíóúãõâêôüà';
var Letras  = 'ABCDEFGHIJKLMNOPQRSTUVWXYZÇÁÉÍÓÚÃÕÂÊÔÜÀabcdefghijklmnopqrstuvwxyzçáéíóúãõâêôüà';
var Numeros = '0123456789';
var Fixos  = '().-:,/ ';
var Charset = " !\"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZÇÁÉÍÓÚÃÕÂÊÔÜÀ[\]^_/`abcdefghijklmnopqrstuvwxyzçáéíóúãõâêôüà{|}~";

evt = (evt) ? evt : (window.event) ? window.event : "";
var value = objeto.value;
if (evt) {
 var ntecla = (evt.which) ? evt.which : evt.keyCode;
 
 tecla = Charset.substr(ntecla - 32, 1);
 if (ntecla < 32) return true;

 var tamanho = value.length;
 if (tamanho >= mask.length) return false;

 var pos = mask.substr(tamanho,1);
 while (Fixos.indexOf(pos) != -1) {
  value += pos;
  tamanho = value.length;
  if (tamanho >= mask.length) return false;
  pos = mask.substr(tamanho,1);
 }

 switch (pos) {
   case '#' : if (Numeros.indexOf(tecla) == -1) return false; break;
   case 'A' : if (LetrasU.indexOf(tecla) == -1) return false; break;
   case 'a' : if (LetrasL.indexOf(tecla) == -1) return false; break;
   case 'Z' : if ( Letras.indexOf(tecla) == -1) return false; break;
   case '*' :             objeto.value = value; return  true; break;
   default : return false; break;
 }
}
objeto.value = value;
return true;
}

function verChar(c, id){
	if (c.checked==true){
		document.getElementById(id).type = 'text';
	}
	else{
		document.getElementById(id).type = 'password';
	}
}

function somente_numero(campo){
if (campo.style.textAlign!='left'){
	campo.style.textAlign = 'left';
}

	var digits="0123456789";
	var campo_temp;
	for (var i=0;i<campo.value.length;i++){
  		campo_temp=campo.value.substring(i,i+1);
  		if (digits.indexOf(campo_temp)==-1){
     			campo.value = campo.value.substring(0,i);
     			break;
   		}
	}
}

function somente_data(campo){
if (campo.style.textAlign!='left'){
	campo.style.textAlign = 'left';
}

	var digits="0123456789/";
	var campo_temp;
	for (var i=0;i<campo.value.length;i++){
  		campo_temp=campo.value.substring(i,i+1);
  		if (digits.indexOf(campo_temp)==-1){
     			campo.value = campo.value.substring(0,i);
     			break;
   		}
	}
}

function somente_numero_real(campo){
	if (campo.style.textAlign!='right'){
		campo.style.textAlign = 'right';
	}
	
	campo.value = campo.value.replace('..','.');
	
	if (campo.value!=''){
		
		if (campo.value=='') {
			campo.value='0';
		}
		
		campo.value = campo.value.replace(',','.');
		var numero = campo.value.split('.');
		if (numero.length>1){
			
			if (numero[0]=='') {
				numero[0]='0';
			}
			
		campo.value = numero[0]+'.'+numero[1].substring(0,2);
		}
		var digits="0123456789."
		var campo_temp
		for (var i=0;i<campo.value.length;i++){
  			campo_temp=campo.value.substring(i,i+1)
  			if (digits.indexOf(campo_temp)==-1){
     				campo.value = campo.value.substring(0,i);
     				break;
	   		}
		}
	}
}

