//CAPTURA CLIQUE DO USUÁRIO
document.onclick = objSeleciona;


//VERIFICA BROWSER. SE FOR IE USA O WINDOW.EVENT
function verificaEvento(ev){
	if(typeof(ev) == 'undefined') var ev = window.event;
	return ev;
}
//FIM VERIFICA BROWSER. SE FOR IE USA O WINDOW.EVENT


//CAPTURA ELEMENTO ACIONADO POR ALGUM EVENTO E POSICIONA NO FINAL DO CAMPO.
function objSeleciona(e){

	var verEv = verificaEvento(e);
	var evento = verEv.target ? verEv.target : verEv.srcElement;
	var evmouse = new String(evento.onkeyup);
	var campo = evento.name;

	if (evmouse.indexOf("formataValor") > 0){
		if ((document.getElementById(campo).selectionStart == 'undefined') || (document.getElementById(campo).selectionStart == undefined)){
			rng = document.getElementById(campo).createTextRange();
			rng.move("textedit");
			rng.select();
		}else{
			document.getElementById(campo).selectionStart=document.getElementById(campo).value.length;
			document.getElementById(campo).selectionEnd=document.getElementById(campo).value.length;
		}
	}

}
//FIM CAPTURA ELEMENTO ACIONADO POR ALGUM EVENTO E POSICIONA NO FINAL DO CAMPO.


//FORMATAÇÃO DE MOEDA
function teclas(campo,evt){ 
    if(((evt.keyCode < 96) || (evt.keyCode > 105)) && 
       ((evt.keyCode < 48) || (evt.keyCode > 57)) ){ 
           campo.value = campo.value.replace(String.fromCharCode(evt.keyCode).toLowerCase(),""); 
    } 
} 
function numMoeda(campo,evt){ 
       // para evitar caracteres alfas. 
       teclas(campo,evt); 
       str = campo.value; 

       while(str.search(",") != -1) 
           str = str.replace(",",""); 
       i = 0; 

       while(i< str.length){ 
           if(str.substr(i,1) == ".") 
              str = str.replace(".",""); 
              i++; 
       } 

       part1 = str.substr(0,str.length - 2); 
       while(part1.search(" ") != -1) 
           part1 = part1.replace(" ",""); 

           part2 = str.substr(str.length - 2,2); 
           res = ""; 
           i = part1.length; 
           sob = i % 3; 
           if((sob != 0) && (i > 2)) 
              res = part1.substr(0,sob) + "."; 
           else 
              res = part1.substr(0,sob); 
           j = 1; 
           part1 = part1.substr(sob); 
           i = 0; 
           while(i < part1.length){ 
              if(j == 3){ 
                 if(i + 1 == part1.length) 
                    res = res + part1.substr(i-2,3); 
                 else res = res + part1.substr(i-2,3) + "."; 
              } 
              i++; 
              j = j<3?j+1:1; 
           } 
           campo.value = res + "," + part2; 
} 




//FORMATA VALOR
function formataValor(Campo){

	var tecla = 0;

	document.onkeypress = objSeleciona;

	CampoFormatado = limpaCampo(Campo,"0123456789");

	if (CampoFormatado.length <= 2) {

		//CENTAVOS
		CampoFormatado = CampoFormatado.replace(",","");
		if (CampoFormatado == "") CampoFormatado = "00";
		CampoFormatado = "0," + CampoFormatado;
		Campo.value = CampoFormatado;

	}else{

		if (CampoFormatado.length >= 3) {

			//CENTENA
			CampoFormatado = CampoFormatado.substring(0,CampoFormatado.length-2) + "," + CampoFormatado.substring(CampoFormatado.length-2,CampoFormatado.length);

			//RETIRA ZEROS A ESQUERDA
			if (CampoFormatado.length >= 5) {
				if (CampoFormatado.substring(0,1) == "0"){
					CampoFormatado = CampoFormatado.substring(1,CampoFormatado.length);
				}
			}
			//FIM RETIRA ZEROS A ESQUERDA

			if (CampoFormatado.length >= 7) {

				//MILHAR
				CampoFormatado = CampoFormatado.substring(0,CampoFormatado.length-6) + "." + CampoFormatado.substring(CampoFormatado.length-6,CampoFormatado.length);

				if (CampoFormatado.length >= 11) {
					//MILHÃO
					CampoFormatado = CampoFormatado.substring(0,CampoFormatado.length-10) + "." + CampoFormatado.substring(CampoFormatado.length-10,CampoFormatado.length);

					if (CampoFormatado.length >= 15) {
						//BILHÃO
						CampoFormatado = CampoFormatado.substring(0,CampoFormatado.length-14) + "." + CampoFormatado.substring(CampoFormatado.length-14,CampoFormatado.length);

					}

				}

			}

			//PREENCHE CAMPO FORMATADO
			Campo.value = CampoFormatado;

		}

	}

}
//FIM FORMATA VALOR


//RETIRA CARACTERES INVÁLIDOS
function limpaCampo(Campo,ValorValido){

	var result = "";
	var aux;

	for (var i=0; i < Campo.value.length; i++) {

		aux = ValorValido.indexOf(Campo.value.substring(i, i+1));

		if (aux>=0) {

			result += aux;

		}

	}

	return result;
}
//FIM RETIRA CARACTERES INVÁLIDOS


function caixaAlta(obj){
  obj.value = obj.value.toUpperCase();
}

function FormataValorAntigo(campo,tammax,teclapres) {
  var tecla = teclapres.keyCode;

  vr = document.form[campo][1].value;
  vr = vr.replace( "/", "" );
  vr = vr.replace( "/", "" );
  vr = vr.replace( ",", "" );
  vr = vr.replace( ".", "" );
  vr = vr.replace( ".", "" );
  vr = vr.replace( ".", "" );
  vr = vr.replace( ".", "" );

  tam = vr.length;

  if (tam < tammax && tecla != 8){
    tam = vr.length + 1;
  }

  if (tecla == 8 ){
    tam = tam - 1;
  }

  if( tecla == 8 || tecla >= 48 && tecla <= 57 || tecla >= 96 && tecla <= 105 ){
    if ( tam <= 2 ){ 
      document.form[campo][1].value = vr;
    }
    if ( (tam > 2) && (tam <= 5) ){
      document.form[campo][1].value = vr.substr( 0, tam - 2 ) + ',' + vr.substr( tam - 2, tam );
    }
    if ( (tam >= 6) && (tam <= 8) ){
      document.form[campo][1].value = vr.substr( 0, tam - 5 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam );
    }
    if ( (tam >= 9) && (tam <= 11) ){
      document.form[campo][1].value = vr.substr( 0, tam - 8 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam );
    }
    if ( (tam >= 12) && (tam <= 14) ){
      document.form[campo][1].value = vr.substr( 0, tam - 11 ) + '.' + vr.substr( tam - 11, 3 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam );
    }
    if ( (tam >= 15) && (tam <= 17) ){
      document.form[campo][1].value = vr.substr( 0, tam - 14 ) + '.' + vr.substr( tam - 14, 3 ) + '.' + vr.substr( tam - 11, 3 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam );
    }
  }
}

function mascaraTelefone(obj, evento) {
        var BACKSPACE   = 8;
        var DEL         = 46;
        var FRENTE      = 39;
        var TRAS        = 37;
        var TAB         = 9;
        var SHIFT       = 16;

        var tecla       = (evento.keyCode ? evento.keyCode: evento.which ? evento.which : evento.charCode);

        if (tecla == BACKSPACE || tecla == DEL || tecla == FRENTE || tecla == TRAS || tecla == TAB || tecla == SHIFT)
            return true;

        if ((tecla < 48 || tecla > 57) && (tecla < 96 || tecla > 105)){
          obj.value = obj.value.substring(0, obj.value.length - 1);
          evento.returnValue = false;
          return false;
        }

        // sem nada
        var sn = '';
        sn = obj.value.replace('(','');
        sn = sn.replace(')','');
        sn = sn.replace('-','');

        if(sn.length >= 1 && sn.length <= 2)
                obj.value = '(' + sn;
        if(sn.length >= 3 && sn.length <= 6)
                obj.value = '(' + sn.substring(0,2) + ')' + sn.substring(2,sn.length);
        if(sn.length >= 7 && sn.length <= 10)
                obj.value = '(' + sn.substring(0,2) + ')' + sn.substring(2,6) + '-' + sn.substring(6,sn.length);
        if(sn.length >10)
                obj.value = '(' + sn.substring(0,2) + ')' + sn.substring(2,6) + '-' + sn.substring(6,10);
}
function ajustaTelefone(obj) {
        if(obj.value.length == 13)
                return true;

        if(obj.value.length == 12) {
                var parte = obj.value.split("");
                var tudo = parte[0] + parte[1] + parte[2] + parte[3] + " " + parte[4] + parte[5] + parte[6] + parte[8] + parte[7] + parte[9] + parte[10] + parte[11];
                obj.value = tudo;
        }

}

function validaCpf(obj){
 s = obj.value;
 if (isNaN(s)) {
  return false;
 }
 var i;
 var c = s.substr(0,9);
 var dv = s.substr(9,2);
 var d1 = 0;
 for (i = 0; i < 9; i++) {
  d1 += c.charAt(i)*(10-i);
 }
 if (d1 == 0){
  return false;
 }
    d1 = 11 - (d1 % 11);
    if (d1 > 9) d1 = 0;
 if (dv.charAt(0) != d1) {
  return false;
 }
 d1 *= 2;
 for (i = 0; i < 9; i++) {
  d1 += c.charAt(i)*(11-i);
 }
 d1 = 11 - (d1 % 11);
 if (d1 > 9) d1 = 0;
 if (dv.charAt(1) != d1) {
     return false;
    }
    return true;
}
function mascaraCpf(obj) {
        if(obj.value.length == 3)
                obj.value = obj.value + ".";
        if(obj.value.length == 7)
                obj.value = obj.value + ".";
        if(obj.value.length == 11)
                obj.value = obj.value + "-";

        if(obj.value.length == 14) {
                        if(!TESTA(obj.value, "CPF")) {
                                obj.value = "";
                                alert("CPF inválido!");
                                obj.focus() = "";
                        }
        }
}
function mascaraCnpj(obj, evento) {
        var BACKSPACE   = 8;
        var DEL         = 46;
        var FRENTE      = 39;
        var TRAS        = 37;
        var TAB         = 9;
        var SHIFT       = 16;

        var tecla       = (evento.keyCode ? evento.keyCode: evento.which ? evento.which : evento.charCode);

        if ((tecla < 48 || tecla > 57) && (tecla < 96 || tecla > 105)){
          obj.value = obj.value.substring(0, obj.value.length - 1);
          evento.returnValue = false;
          return false;
        }

        if(obj.value.length == 2)
                obj.value = obj.value + ".";
        if(obj.value.length == 6)
                obj.value = obj.value + ".";
        if(obj.value.length == 10)
                obj.value = obj.value + "/";
        if(obj.value.length == 15)
                obj.value = obj.value + "-";
                
        if(obj.value.length == 18) {
                        if(!TESTA(obj.value, "CNPJ")) {
                                obj.value = "";
                                alert("CNPJ inválido!");
                                obj.focus() = "";
                        }
        }
}
function mascaraData(obj) {
        if(obj.value.length == 2)
                obj.value = obj.value + "/";
        if(obj.value.length == 5)
                obj.value = obj.value + "/";
        if(obj.value.length == 10) {
                var dia = parseInt(obj.value.substring(0,2),10);
                var mes = parseInt(obj.value.substring(3,5),10);
                var ano = parseInt(obj.value.substring(6,10),10);

                if (dia <= 31 && mes <=12 && ano >= 1000){
                        if (obj.value.substring(0,1)=="0" && obj.value.substring(1,2) != "0" || obj.value.substring(0,1)!="0"){
                                if (obj.value.substring(2,3)=="/"){
                                        if (obj.value.substring(3,4)=="0" && obj.value.substring(4,5)!="0" || obj.value.substring(3,4)!="0"){
                                                if (obj.value.substring(5,6)=="/"){
                                                        if (obj.value.substring(6,7)== "0" || obj.value.substring(6,7)=="" && obj.value.substring(7,8)!="0"){
                                                                window.alert("O ano que você digitou não existe!");
                                                                obj.focus();
                                                                obj.value = "";
                                                                return false;
                                                        } else {
                                                if (mes == 2){
                                                        if ((dia > 0 ) && (dia <= 29)){
                                                                if (dia == 29){
                                                                        if ((ano % 4) == 0){
                                                                                return true;
                                                                        }else{
                                                                                window.alert("Este dia não existe, certifique-se de que digitou corretamente!");
                                                                                obj.focus();
                                                                                obj.value = "";
                                                                                return false;
                                                                        }
                                                                        }
                                                        } else {
                                                                window.alert("Este dia não existe, certifique-se de que digitou corretamente!");
                                                                obj.focus();
                                                                obj.value = "";
                                                                return false;
                                                        }
                                                }
                                                if ((mes == 4)||(mes == 6)||(mes == 9)||(mes ==        11)){
                                                        if ((dia > 0 ) && (dia <= 30)){
                                                        return true;
                                                }else{
                                                        window.alert("Este dia não existe, certifique-se de que digitou corretamente!");
                                                        obj.focus();
                                                        obj.value = "";
                                                        return false;
                                                }
                                        }
                                        if ((mes == 1)||(mes == 3)||(mes == 5)||(mes ==7)||(mes == 8)||(mes == 10)||(mes == 12)) {
                                                if ((dia > 0) && (dia <= 31)) {
                                                return true;
                                        }else{
                                                window.alert("Este dia não existe, certifique-se de que digitou corretamente!");
                                                obj.focus();
                                                obj.value = "";
                                                return false;
                                        }
                                }
                        }
                }else{
                        window.alert("A data foi digitada fora do padrão(dd/mm/aaaa) !");
                        obj.focus();
                        obj.value = "";
                        return false;
                }
        }else{
                window.alert("Você digitou um mês que não existe!");
                obj.focus();
                obj.value = "";
                return false;
        }
        }else{
                window.alert("A data foi digitada fora do padrão(dd/mm/aaaa)!");
                obj.focus();
                obj.value = "";
                return false;
        }
        }else{
                window.alert("Você digitou um dia que não existe!");
                obj.focus();
                obj.value = "";
                return false;
        }
        }else{
                window.alert("O dia e/ou o mês que você digitou não existe, ou Você digitou\nfora do padrão (dd/mm/aaaa) !");
                obj.focus();
                obj.value = "";
                return false;
        }
                return true;
        }
}

function mascaraHora(obj) {
  if(obj.value.length == 2)
          obj.value = obj.value + ":";
  if(obj.value.length == 5) {
    var hora   = parseInt(obj.value.substring(0,2),5);
    var minuto = parseInt(obj.value.substring(3,5),5);

    if (hora > 24 && minuto > 59){
      alert('A hora que você digitou não existe');
      return false;
    }

    return true;
  }
}

function mascaraCep(obj) {
        obj.value = obj.value;
        if(obj.value.length == 5)
                obj.value = obj.value+"-";
        }

function mascara_numero(campo,tammax,teclapres) {
        var tecla = teclapres.keyCode;
                vr = campo.value;
                vr = vr.replace( "/", "" );
                vr = vr.replace( "/", "" );
                vr = vr.replace( ",", "" );
                vr = vr.replace( ",", "" );
                vr = vr.replace( ".", "" );
                vr = vr.replace( ".", "" );
                vr = vr.replace( ".", "" );
                vr = vr.replace( ".", "" );
                tam = vr.length;

                if (tam < tammax && tecla != 8){ tam = vr.length + 1 ; }
                if (tecla == 8 ){ tam = tam - 1 ; }
                if ( (tecla == 8) || (tecla >= 48 && tecla <= 57) || (tecla >= 96 && tecla <= 105) ){
                if ( tam <= 2 ){ campo.value = vr ; }
                if ( (tam > 2) && (tam <= 5) ){campo.value = vr.substr( 0, tam - 2 ) + ',' + vr.substr( tam - 2, tam ) ; }
                if ( (tam >= 6) && (tam <= 8) ){campo.value = vr.substr( 0, tam - 5 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ) ; }
                if ( (tam >= 9) && (tam <= 11) ){campo.value = vr.substr( 0, tam - 8 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ) ; }
                if ( (tam >= 12) && (tam <= 14) ){campo.value = vr.substr( 0, tam - 11 ) + '.' + vr.substr( tam - 11, 3 ) + '.' + vr.substr( tam - 8, 3 ) + '.' + vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ) ; }
                if ( (tam >= 15) && (tam <= 17) ){campo.value = vr.substr( 0, tam - 14 ) + '.' + vr.substr( tam - 14, 3 ) + '.' + vr.substr( tam - 11, 3 ) + '.' + vr.substr( tam - 8, 3 ) + '.' +
                vr.substr( tam - 5, 3 ) + ',' + vr.substr( tam - 2, tam ) ;}
                }
}

function verifica_num(numero, elemento) {
        if(isNaN(numero.substr(numero.length - 1, 1))) {
                alert('Você deve digitar apenas números neste campo.');
                document.forms[0].elements[elemento].value = '';
                return false;
        }
        else {
                return true;
        }
}

function formata_numero(numero,decimais)
	{
	    if (isNaN(numero)) { return '0,00';}
	    if (numero=='') { return '0,00';}

	    var IsNegative=(parseInt(numero)<0);
	    if(IsNegative)numero=-numero;

	    var snum = new String(numero);
	    var sec = snum.split('.');
	    var whole = parseInt(sec[0]);
	    var result = '';
	    if(sec.length > 1){
	  	var dec = new String(sec[1]);
	  	dec = parseInt(dec)/Math.pow(10,parseInt(dec.length-decimais-1));
	  	Math.round(dec);
	  	dec = parseInt(dec)/10;

	  	if(IsNegative)
	  	{
	     var x = 0-dec;
	     x = Math.round(x);
	     dec = - x;
	  	}
	  	else
	  	{
	     dec = Math.round(dec);
	  	}

	  	/*
	    * If the number was rounded up from 9 to 10, and it was for 1 'decimal'
	    * then we need to add 1 to the 'whole' and set the dec to 0.
	    */
	  	if(decimais==1 && dec==10)
	  	{
	     whole+=1;
	     dec="0";
	  	}

	  	dec = String(whole) + "," + String(dec);
	  	var dot = dec.indexOf(',');
	  	if(dot == -1){
	     dec += '.';
	     dot = dec.indexOf(',');
	  	}
	  	var l=parseInt(dot)+parseInt(decimais);
	  	while(dec.length <= l) { dec += '0'; }
	  	result = dec;
	    } else{
	  	var dot;
	  	var dec = new String(whole);
	  	dec += ',';
	  	dot = dec.indexOf(',');
	  	var l=parseInt(dot)+parseInt(decimais);
	  	while(dec.length <= l) { dec += '0'; }
	  	result = dec;
	    }
	    if(IsNegative)result="-"+result;
	    return result;
	}
        
function validaEmail(elemento) {
        obj.value = obj.value;
        if(obj.value.length != "") {
                if(obj.value.indexOf("@") == -1 || obj.value.indexOf(".com") == -1) {
                        obj.value = "";
                        obj.focus();
                        alert("email inválido");
                }
        }
}
function validaForm() {
        var campos_vazios                = new Array();
        var num_campos_vazios        = 0;
        var msg_completa                = "";
        for(var i = 0; i < document.forms[0].elements.length; i++) {
                if(document.forms[0].elements[i].value == "") {
                        num_campos_vazios        += 1;
                        campos_vazios[num_campos_vazios - 1]        = document.forms[0].elements[i].name;
                }
        }
        if(num_campos_vazios == 1) {
                msg_completa = "O seguinte campo está vazio: " + campos_vazios[0];
        }
        else if(num_campos_vazios > 1)
        {
                msg_completa = "Os seguintes campos estão vazios: ";
                for(var x = 0; x < campos_vazios.length; x++) {
                        msg_completa += campos_vazios[x];
                        if(x + 2 < campos_vazios.length)
                                msg_completa += ", ";
                        else if(x + 1 < campos_vazios.length)
                                msg_completa += " e ";
                        else
                                msg_completa += " ";
                }
        }

        if(num_campos_vazios == 0)
                return true;
        else {
                alert(msg_completa);
                return false;
        }
}
function validaNome(elemento) {
        texto = document.forms[0].elements[elemento].value;
        var erro = false;
        var letras_iguais = 0;
        if(texto == "")
                erro = true;
        if(texto.length < 4)
                erro = true;
        for(var i = 0; i < texto.length; i++) {
                if(texto.substring(i,i+1) == texto.substring(i+1,i+2))
                        letras_iguais++;
        }
        if(letras_iguais > 2)
                erro = true;

        if(!erro)
                return true;
        if(erro) {
                alert("Nome inválido");
                document.forms[0].elements[elemento].focus();
                document.forms[0].elements[elemento].value = "";
                return false;
        }
}
//---------------------------
function TESTA(CNUMB,CTYPE)
{
  if(Verify(CNUMB, CTYPE))
  {
    return true;
        //alert(CTYPE+" válido!");
  }
  else
  {
          return false;
    //alert(CTYPE+" inválido!");
  }
//  return;
}

function ClearStr(str, char)
{
  while((cx=str.indexOf(char))!=-1)
  {
    str = str.substring(0,cx)+str.substring(cx+1);
  }
  return(str);
}

function ParseNumb(c)
{
  c=ClearStr(c,"-");
  c=ClearStr(c,"/");
  c=ClearStr(c,",");
  c=ClearStr(c,".");
  c=ClearStr(c,"(");
  c=ClearStr(c,")");
  c=ClearStr(c," ");
  if((parseFloat(c) / c != 1))
  {
    if(parseFloat(c) * c == 0)
    {
      return(c);
    }
    else
    {
      return(0);
    }
  }
  else
  {
    return(c);
  }
}

function Verify(CNUMB,CTYPE)
{
  CNUMB=ParseNumb(CNUMB)
  if(CNUMB == 0)
  {
    return(false);
  }
  else
  {
    g=CNUMB.length-2;
    if(TestDigit(CNUMB,CTYPE,g))
    {
      g=CNUMB.length-1;
      if(TestDigit(CNUMB,CTYPE,g))
      {
        return(true);
      }
      else
      {
        return(false);
      }
    }
    else
    {
      return(false);
    }
  }
}

function TestDigit(CNUMB,CTYPE,g)
{
  var dig=0;
  var ind=2;
  for(f=g;f>0;f--)
  {
    dig+=parseInt(CNUMB.charAt(f-1))*ind;
    if (CTYPE=="CNPJ")
    { if(ind>8) {ind=2} else {ind++} }
    else
    { ind++ }
  }
  dig%=11;
  if(dig<2)
  {
    dig=0;
  }
  else
  {
    dig=11-dig;
  }
  if(dig!=parseInt(CNUMB.charAt(g)))
  {
    return(false);
  }
  else
  {
    return(true);
  }
}

function idade(data) {
	/* divide na barra (/) a data passada como parâmetro */
	var parte = data.split('/');
	if(parte.length != 3)
		return false;

	/* coloca nas variaveis a data passada como parâmetro */
	var anoData			= parte[2];
	var mesData			= parte[1];
	var diaData			= parte[0];

	/* coloca nas variaveis a data atual */
	var dataHoje		= new Date();
	var anoHoje			= dataHoje.getFullYear();
	var mesHoje			= dataHoje.getMonth() + 1;
	var diaHoje			= dataHoje.getDate();

	var anoDiferenca	= (anoHoje - anoData) - 1;
	var mesDiferenca	= (mesHoje + 12 - mesData) - 1;
	var diaDiferenca	= (diaHoje + 30 - diaData);

	if(diaDiferenca >= 30) {
		mesDiferenca++;
		diaDiferenca -= 30;
	}

	if(mesDiferenca >= 12) {
		anoDiferenca++;
		mesDiferenca -= 12;
	}

	if(isNaN(anoDiferenca) || isNaN(mesDiferenca) || isNaN(diaDiferenca))
		return '';

	var idadeTotal = new Array(diaDiferenca, mesDiferenca, anoDiferenca);

	return(idadeTotal);

}

function Calcula_Dias(data1_DDMMYYYY,data2_DDMMYYYY){

    var arrdata1 = data1_DDMMYYYY.split("/");
    var arrdata2 = data2_DDMMYYYY.split("/");

    Var_Dia1 = arrdata1[0];
    Var_Mes1 = arrdata1[1];
    Var_Mes1 = Math.floor(Var_Mes1)-1;
    Var_Ano1 = arrdata1[2];
    var data1 = new Date(Var_Ano1,Var_Mes1,Var_Dia1);

    Var_Dia2 = arrdata2[0];
    Var_Mes2 = arrdata2[1];
    Var_Mes2 = Math.floor(Var_Mes2)-1;
    Var_Ano2 = arrdata2[2];
    var data2 = new Date(Var_Ano2,Var_Mes2,Var_Dia2);

    var diferenca = data1.getTime() - data2.getTime();
    var diferenca = Math.floor(diferenca / (1000 * 60 * 60 * 24));

    if (diferenca >= parseInt(document.forms[0].maxdias.value))
    {
      alert("Informe uma data inferior a fornecida.");
      document.forms[0].data_primeira_prestacao.value = '';
    }
    else
    {
      document.forms[0].dataok.value = 1;
    }

}


function ai(obj, evento) {
  var BACKSPACE   = 8;
  var DEL         = 46;
  var FRENTE      = 39;
  var TRAS        = 37;
  var TAB         = 9;
  var SHIFT       = 16;

  var tecla       = (evento.keyCode ? evento.keyCode: evento.which ? evento.which : evento.charCode);

  if (tecla == BACKSPACE || tecla == DEL || tecla == FRENTE || tecla == TRAS || tecla == TAB || tecla == SHIFT)
    return true;

  if(tecla == 13) {
    var i = 0;
    var nome_atual = document.forms[0].elements[i].name;
    while(nome_atual != obj.name) {
      i++;
      nome_atual = document.forms[0].elements[i].name;
    }

    i++;

    if(i < document.forms[0].length)
      document.forms[0].elements[i].focus();
  }

  var cpn = obj.name;
  if(cpn.indexOf("telefone") != -1 || cpn.indexOf("tene") != -1 || cpn.indexOf("cear") != -1 || cpn.indexOf("tel") != -1 || cpn.indexOf("fax") != -1 || cpn.indexOf("celular") != -1 || cpn.indexOf("tral") != -1 || cpn.indexOf("tcal") != -1 || cpn.indexOf("fax") != -1) {
    mascaraTelefone(obj, evento);
  }

  else if(cpn.indexOf("cep") != -1 || cpn.indexOf("cecl") != -1 || cpn.indexOf("cerl") != -1) {
    mascaraCep(obj, evento);
  }

  else if(cpn.indexOf("cpf") != -1) {
    mascaraCpf(obj, evento);
  }

  else if(cpn.indexOf("cnpj") != -1) {
    mascaraCnpj(obj, evento);
  }

  else if(cpn.indexOf("data") != -1 || cpn.indexOf("dnto") != -1 || cpn.indexOf("dato") != -1 || cpn.indexOf("dpto") != -1 || cpn.indexOf("daao") != -1 || cpn.indexOf("ddao") != -1 || cpn.indexOf("nascimento") != -1 || cpn.indexOf("dmla") != -1 || cpn.indexOf("diio") != -1 || cpn.indexOf("dtno") != -1 || cpn.indexOf("dlto") != -1 || cpn.indexOf("deao") != -1 || cpn.indexOf("dbxa") != -1 || cpn.indexOf("dvto") != -1 || cpn.indexOf("dnfl") != -1 || cpn.indexOf("dvnf") != -1 || cpn.indexOf("dataIniEv") != -1 || cpn.indexOf("periIniEv") != -1 || cpn.indexOf("periFimEv") != -1 || cpn.indexOf("de_comissionamento") != -1 || cpn.indexOf("ate_comissionamento") != -1){
    mascaraData(obj, evento);
  }

  else if(cpn.indexOf("hora") != -1 || cpn.indexOf("hato") != -1 || cpn.indexOf("dataIniEv") != -1 || cpn.indexOf("periIniEv") != -1 || cpn.indexOf("periFimEv") != -1){
    mascaraHora(obj, evento);
  }

  if(obj.value.length == obj.maxlenght) {
    var i = 0;
    var nome_atual = document.forms[0].elements[i].name;
    while(nome_atual != obj.name) {
      i++;
      nome_atual = document.forms[0].elements[i].name;
    }

    i++;
    if(i < document.forms[0].length)
      document.forms[0].elements[i].focus();
      document.forms[0].elements[i].select();
  }
}


function ai2(obj, evento, n_form) {
  var BACKSPACE   = 8;
  var DEL         = 46;
  var FRENTE      = 39;
  var TRAS        = 37;
  var TAB         = 9;
  var SHIFT       = 16;

  var tecla       = (evento.keyCode ? evento.keyCode: evento.which ? evento.which : evento.charCode);

  if (tecla == BACKSPACE || tecla == DEL || tecla == FRENTE || tecla == TRAS || tecla == TAB || tecla == SHIFT)
    return true;

  if(tecla == 13) {
    var i = 0;
    var nome_atual = document.forms[n_form].elements[i].name;
    while(nome_atual != obj.name) {
      i++;
      nome_atual = document.forms[n_form].elements[i].name;
    }

    i++;

    if(i < document.forms[n_form].length)
      document.forms[n_form].elements[i].focus();
  }

  var cpn = obj.name;
  if(cpn.indexOf("telefone") != -1 || cpn.indexOf("tene") != -1 || cpn.indexOf("cear") != -1 || cpn.indexOf("tel") != -1 || cpn.indexOf("fax") != -1 || cpn.indexOf("celular") != -1 || cpn.indexOf("tral") != -1 || cpn.indexOf("tcal") != -1 || cpn.indexOf("fax") != -1) {
    mascaraTelefone(obj, evento);
  }

  else if(cpn.indexOf("cep") != -1) {
    mascaraCep(obj, evento);
  }

  else if(cpn.indexOf("cpf") != -1) {
    mascaraCpf(obj, evento);
  }

  else if(cpn.indexOf("cnpj") != -1) {
    mascaraCnpj(obj, evento);
  }

  else if(cpn.indexOf("data") != -1 || cpn.indexOf("dnto") != -1 || cpn.indexOf("dpto") != -1 || cpn.indexOf("daao") != -1 || cpn.indexOf("ddao") != -1 || cpn.indexOf("nascimento") != -1 || cpn.indexOf("dmla") != -1 || cpn.indexOf("diio") != -1 || cpn.indexOf("dtno") != -1 || cpn.indexOf("dlto") != -1 || cpn.indexOf("deao") != -1 || cpn.indexOf("dbxa") != -1 || cpn.indexOf("dvto") != -1){
    mascaraData(obj, evento);
  }

  if(obj.value.length == obj.maxlenght) {
    var i = 0;
    var nome_atual = document.forms[n_form].elements[i].name;
    while(nome_atual != obj.name) {
      i++;
      nome_atual = document.forms[n_form].elements[i].name;
    }

    i++;
    if(i < document.forms[n_form].length)
      document.forms[n_form].elements[i].focus();
      document.forms[n_form].elements[i].select();
  }
}

function enviaItem(caminho)
{   self.location.href=caminho;
	//top.formulario.location.href=caminho;
}

function enviaItem2(caminho)
{   parent.location.href=caminho;
	//top.formulario.location.href=caminho;
}

function enviaItemPopUp(caminho)
{   //self.location.href=caminho;
	top.formulario.location.href=caminho;
}

function linhaItem(linha, cor)
{	linha.style.background = cor;
	linha.style.cursor = 'pointer';
}

function addOption(objSelect,conteudo,id)
{
  var theDD = eval(objSelect);
  var texto = conteudo;
  var valor = id;
  var insertAt = theDD.options.length;

  theDD.options.length=theDD.options.length + 1;
  theDD.options[insertAt].text     = texto;
  theDD.options[insertAt].value    = valor;
  theDD.options[insertAt].selected = true;
}

function delOption(objSelect,id)
{ var theDD = eval(objSelect);
  var tam = theDD.options.length;
  var qualpos = "";
  
  for (i=0; i<tam; i++)
  { if (theDD.options[i].value == id)
    {
      qualpos = i;
    }
  }
  theDD.options[qualpos] = null;
}

function formataValorMonetario(campooriginal,decimais)
{
  var posicaoPontoDecimal;
  var campo = '';
  var resultado = '';
  var pos,sep,dec;

//Retira possiveis separadores de milhar
  for (pos=0; pos < campooriginal.value.length; pos ++)
  {
    if (campooriginal.value.charAt(pos)!='.')
        campo = campo + campooriginal.value.charAt(pos);
  }

//Formata valor monetário com decimais
  posicaoPontoDecimal = campo.indexOf(',');
  if (posicaoPontoDecimal != -1)
   {
      sep = 0;
      for (pos=posicaoPontoDecimal-1;pos >= 0;pos--)
      {
        sep ++;
        if (sep > 3)
        {
           resultado = '.' + resultado;
           sep = 1;
        }

        resultado = campo.charAt(pos) + resultado;
      }

      // Trata parte decimal
      if (parseInt(decimais) > 0 )
      {
         resultado = resultado + ',';

         pos=posicaoPontoDecimal+1;
         for (dec = 1;dec <= parseInt(decimais); dec++)
         {
           if (pos < campo.length)
           {
              resultado = resultado + campo.charAt(pos);
              pos++;
           }
           else
              resultado = resultado + '0';
         }

      } // trata decimais
   }
   // Trata valor monetário sem decimais
   else
   {
      sep = 0;
      for (pos=campo.length-1;pos >= 0;pos--)
      {
        sep ++;
        if (sep > 3)
        {
           resultado = '.' + resultado;
           sep = 1;
        }
        resultado = campo.charAt(pos) + resultado;
      }
      // Trata parte decimal
      if (parseInt(decimais) > 0 )
      {
         resultado = resultado + ',';
         for (dec = 1;dec <= parseInt(decimais); dec++)
         {
              resultado = resultado + '0';
         }
      } // trata decimais
   }
   campooriginal.value = resultado;
}

