﻿// Funções JavaScript

//=================Formatar CPF - Inicio ===============================================
function FormataCpf(campo,tammax,teclapres) {
 //var tecla = teclapres.keyCode;
  
  var tecla = event.keyCode;
  
 vr = event.srcElement.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( "-", "" );
 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 ){ 
    event.srcElement.value = vr ; }
   if ( (tam > 2) && (tam <= 5) ){
    event.srcElement.value = vr.substr( 0, tam - 2 ) + '-' + vr.substr( tam - 2, tam ) ; }
   if ( (tam >= 6) && (tam <= 8) ){
    event.srcElement.value = vr.substr( 0, tam - 5 ) + '.' + vr.substr( tam - 5, 3 ) + '-' + vr.substr( tam - 2, tam ) ; }
   if ( (tam >= 9) && (tam <= 11) ){
    event.srcElement.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) ){
    event.srcElement.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) ){
    event.srcElement.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 ) ;}
 }  
}
//=================Formatar CPF - Fim ===============================================

//=================Validar CPF - Inicio ===============================================
function validacpf(txtCpf){
 var i;
 s = txtCpf.value;
 if (s == '')
 	return true;
 if (s.length != 14) {
 	alert('O CPF deve ter 11 caracteres.');
 	txtCpf.focus();
 	return false;
 }
 s = s.replace("-","").replace(".","").replace(".","");
 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){
     alert('CPF Invalido.');
     txtCpf.focus();
     return false;
 }
 d1 = 11 - (d1 % 11);
 if (d1 > 9) d1 = 0;
 if (dv.charAt(0) != d1)
 {
     alert('CPF Invalido.');
     txtCpf.focus();
     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)
 {
     alert('CPF Invalido.');
     txtCpf.focus();
     return false;
 }
 return false;
} 
//=================Validar CPF - Fim ===============================================

//=================Validar Email - Inicio ===============================================
function validaemail(objemail) {
	var objRegExp = /^[A-Za-z]([\w\.]*)@([A-Za-z0-9\.]*)\.(([A-Za-z]{3}\.[A-Za-z]{2}$)|([A-Za-z]{3}$)|([a-z]{2}$))/i ;

	if(!objRegExp.test(objemail.value)){
		alert("Endereço de email inválido.");
		objemail.focus();
	}
}
//=================Validar Email - Fim ===============================================

//=================Formatar CNPJ - Fim ===============================================
function FormataCnpj(campo,tammax,teclapres) {

 
 //var tecla = teclapres.keyCode;

 var tecla = event.keyCode;

 vr = event.srcElement.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( "-", "" );
 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 ){ 
    event.srcElement.value = vr ; }
   if ( (tam > 2) && (tam <= 6) ){
    event.srcElement.value = vr.substr( 0, tam - 2 ) + '-' + vr.substr( tam - 2, tam ) ; }
   if ( (tam >= 7) && (tam <= 9) ){
    event.srcElement.value = vr.substr( 0, tam - 6 ) + '/' + vr.substr( tam - 6, 4 ) + '-' + vr.substr( tam - 2, tam ) ; }
   if ( (tam >= 10) && (tam <= 12) ){
    event.srcElement.value = vr.substr( 0, tam - 9 ) + '.' + vr.substr( tam - 9, 3 ) + '/' + vr.substr( tam - 6, 4 ) + '-' + vr.substr( tam - 2, tam ) ; }
   if ( (tam >= 13) && (tam <= 14) ){
    event.srcElement.value = vr.substr( 0, tam - 12 ) + '.' + vr.substr( tam - 12, 3 ) + '.' + vr.substr( tam - 9, 3 ) + '/' + vr.substr( tam - 6, 4 ) + '-' + vr.substr( tam - 2, tam ) ; }
   if ( (tam >= 15) && (tam <= 17) ){
    event.srcElement.value = vr.substr( 0, tam - 14 ) + '.' + vr.substr( tam - 14, 2 ) + '.' + vr.substr( tam - 12, 3 ) + '.' + vr.substr( tam - 9, 3 ) + '/' + vr.substr( tam - 6, 4 ) + '-' + vr.substr( tam - 2, tam ) ;}
 }  
}
//=================Formatar CNPJ - Fim ===============================================


//window.open('frmSelecionarRepr.asp','SelecionarRepresentante','width=420,height=200,scrollbars=yes')"
//window.open('jex5.htm','mywindow','width=400,height=200,left=0,top=100,screenX=0,screenY=100')

function abrejanela (URL){ 
   window.open(URL,"ChildWindow","width=420,height=300,scrollbars=auto,top=300") 
} 

function fechaJanela(){ 
    //window.opener.location.href = window.opener.location.href;
    window.opener.execScript("__doPostBack('incObjetivo','')","JavaScript");
    self.close();
} 

// função genérica para validação do cpf através do custom validator.
function CV_ValidaCpf(source, args)
{
 
  s = args.Value;
  s = s.replace("-","").replace(".","").replace(".","").replace(" ","");
  
  var numeros, digitos, soma, i, resultado, digitos_iguais;
  digitos_iguais = 1;
  
  if (s=='')
        {
        args.IsValid = false;
        return;
        }
  
  if (s.length < 11)
        {
        args.IsValid = false;
        return;
        }
  for (i = 0; i < s.length - 1; i++)
        if (s.charAt(i) != s.charAt(i + 1))
              {
              digitos_iguais = 0;
              break;
              }
  if (!digitos_iguais)
        {
        numeros = s.substring(0,9);
        digitos = s.substring(9);
        soma = 0;
        for (i = 10; i > 1; i--)
              soma += numeros.charAt(10 - i) * i;
        resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
        if (resultado != digitos.charAt(0))
              {
              args.IsValid = false;
              return false;
              }
        numeros = s.substring(0,10);
        soma = 0;
        for (i = 11; i > 1; i--)
              soma += numeros.charAt(11 - i) * i;
        resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
        if (resultado != digitos.charAt(1))
              {
              args.IsValid = false;
              return false;
              }
        args.IsValid = true;
        return true;
        }
  else
        args.IsValid = false;
        return false;
}
// função genérica para validação do cnpj através do custom validator.
function CV_ValidaCnpj(source, args) {
	s = args.Value;
	s = s.replace("-","").replace(".","").replace(".","").replace(" ","").replace("/","");

  if (s=='')
        {
        args.IsValid = false;
        return;
        }

  if (s.length < 14)
        {
        args.IsValid = false;
        return;
        }


        var nonNumbers = /\D/;
        if (nonNumbers.test(s)) 
		{
			args.IsValid = false;
		        return;
		}

               var a = [];
               var b = new Number;
               var c = [6,5,4,3,2,9,8,7,6,5,4,3,2];
               for (i=0; i<12; i++){
                       a[i] = s.charAt(i);
                       b += a[i] * c[i+1];
		 }
               if ((x = b % 11) < 2) { a[12] = 0 } else { a[12] = 11-x }
               b = 0;
               for (y=0; y<13; y++) {
                       b += (a[y] * c[y]); 
               }
               if ((x = b % 11) < 2) { a[13] = 0; } else { a[13] = 11-x; }
               if ((s.charAt(12) != a[12]) || (s.charAt(13) != a[13])){
                

		        args.IsValid = false;
		        return;

               }

        args.IsValid = true;
        return true;


}

//Valida preenchimento do cep
function CV_ValidaCEP(source, args) {
    // expressão regular para validar dígitos numéricos e quantidade de oito dígitos
    var objRegExp = /\d{8}/;
    var auxcep;
    // monta o cep (5 digitos + 3 digitos)
    auxcep = document.form1.txtCEP1.value + args.Value;
    // testa a expressao regular
    if(!objRegExp.test(auxcep))
        args.IsValid = false
    else
        args.IsValid = true
}

//Verifica se é um email válido
function CV_ValidaEmail(source, args) {
    // expressão regular para validar email
    var objRegExp = /^[A-Za-z]([\w\-.]*)@[A-Za-z]([A-Za-z0-9\-.]*)\.(([A-Za-z]{3}\.[A-Za-z]{2}$)|([A-Za-z]{3}$)|([a-z]{2}$))/i;
    // testa a expressao regular
    if(!objRegExp.test(args.Value))
        args.IsValid = false
    else
        args.IsValid = true
}

//Verifica se a confirmação de email está preenchida corretamente.
function CV_ValidaConfEmail(source, args) {
    if (args.Value != document.form1.txtEmail.value)
        args.IsValid = false
    else
        args.IsValid = true
}

// Valida DDD Telefone
function CV_ValidaDDD(source, args) {
    // expressão regular para validação de DDD
    var objRegExp = /\d{2}/;
    // testa a expressao regular
    if(!objRegExp.test(args.Value))
        args.IsValid = false
    else
        args.IsValid = true
}


//funções para evitar caracteres inválidos. 
function isNum( caractere )
{
 var strValidos = "0123456789"
     if ( strValidos.indexOf( caractere ) == -1 )
  return false;
 return true;
}

function validaTecla(campo, event)
{
 var BACKSPACE =  8;
 var key;
 var tecla;
 CheckTAB = true;
 if (navigator.appName.indexOf("Netscape") != -1)
  tecla = event.which;
 else
  tecla = event.keyCode;
 key = String.fromCharCode( tecla);
 if ( tecla == 13 )
  return false;
 if ( tecla == BACKSPACE )
  return true;
 return (isNum(key));
}
///////////////////////////////////////////

//funções para evitar caracteres inválidos. 
function isStr( caractere )
{
 var strValidos = "ÃÁÂABCÇDEÉÊFGHIÍJKLMNOÓÕÔPQRSTUVXWYZaãáâàbcçdeéêfghiíjklmnoôõôóòpqrstuúvwyxz&- º´`"
     if ( strValidos.indexOf( caractere ) == -1 )
  return false;
 return true;
}

function validaTeclaStr(campo, event)
{
 var BACKSPACE =  8;
 var key;
 var tecla;
 CheckTAB = true;
 if (navigator.appName.indexOf("Netscape") != -1)
  tecla = event.which;
 else
  tecla = event.keyCode;
 key = String.fromCharCode( tecla);
 if ( tecla == 13 )
  return false;
 if ( tecla == BACKSPACE )
  return true;
 return (isStr(key));
}

//////////////////////////////////////////////////////////////
//funções para evitar caracteres inválidos. 
function isNumCPF( caractere )
{
 var strValidos = "0123456789"
     if ( strValidos.indexOf( caractere ) == -1 )
  return false;
 return true;
}

function validaTeclaCPF(campo, event)
{
 FormataCpf(campo,11,event);
 var BACKSPACE =  8;
 var key;
 var tecla;
 CheckTAB = true;
 if (navigator.appName.indexOf("Netscape") != -1)
  tecla = event.which;
 else
  tecla = event.keyCode;
 key = String.fromCharCode( tecla);
 if ( tecla == 13 )
  return false;
 if ( tecla == BACKSPACE )
  return true;
 return (isNumCPF(key));
}
///////////////////////////////////////////////////////
//funções para evitar caracteres inválidos, permitindo espaços em branco. 
function isNumAll( caractere )
{
 var strValidos = "0123456789AÁÂÃBCÇDEÉÊFGHIÍJKLMNOÓÔÕPQRSTUÚVXWYZaãâáàbcçdeéêfghiíjklmnoõóôóòpqrstuúvwyxz´` ()-,.º"
     if ( strValidos.indexOf( caractere ) == -1 )
  return false;
 return true;
}

function validaTeclaAll(campo, event)
{
 var BACKSPACE =  8;
 var key;
 var tecla;
 CheckTAB = true;
 if (navigator.appName.indexOf("Netscape") != -1)
  tecla = event.which;
 else
  tecla = event.keyCode;
 key = String.fromCharCode( tecla);
 if ( tecla == 13 )
  return false;
 if ( tecla == BACKSPACE )
  return true;
 return (isNumAll(key));
}

/////////////////////////////////////////////////////////////
//Formatar para qualquer máscara
function formatar(src, mask) 
{
  var i = src.value.length;
  var saida = mask.substring(0,1);
  var texto = mask.substring(i)
if (texto.substring(0,1) != saida) 
  {
	src.value += texto.substring(0,1);
  }
}
/* 
Exemplos:
CEP
OnKeyPress="formatar(this, '#####-###')"
CPF
OnKeyPress="formatar(this, '###.###.###-##')"
DATA
OnKeyPress="formatar(this, '##/##/####')"
*/
//////////////////////////////////////
function validaTeclaCEP(campo, event)
{
 formatar(campo, '#####-###');
 var BACKSPACE =  8;
 var key;
 var tecla;
 CheckTAB = true;
 if (navigator.appName.indexOf("Netscape") != -1)
  tecla = event.which;
 else
  tecla = event.keyCode;
 key = String.fromCharCode( tecla);
 if ( tecla == 13 )
  return false;
 if ( tecla == BACKSPACE )
  return true;
 return (isNumCPF(key));
}
/////////////////////////////
function validaTeclaTel(campo, event)
{
 //formatar(campo, '##-####-####');
 var BACKSPACE =  8;
 var key;
 var tecla;
 CheckTAB = true;
 if (navigator.appName.indexOf("Netscape") != -1)
  tecla = event.which;
 else
  tecla = event.keyCode;
 key = String.fromCharCode( tecla);
 if ( tecla == 13 )
  return false;
 if ( tecla == BACKSPACE )
  return true;
 return (isNumCPF(key));
}


//funções para evitar caracteres inválidos. 
function isNumCNPJ( caractere )
{
 var strValidos = "0123456789"
     if ( strValidos.indexOf( caractere ) == -1 )
  return false;
 return true;
}

function validaTeclaCNPJ(campo, event)
{
 FormataCnpj(campo,14,event);
 var BACKSPACE =  8;
 var key;
 var tecla;
 CheckTAB = true;
 if (navigator.appName.indexOf("Netscape") != -1)
  tecla = event.which;
 else
  tecla = event.keyCode;
 key = String.fromCharCode( tecla);
 if ( tecla == 13 )
  return false;
 if ( tecla == BACKSPACE )
  return true;
 return (isNumCNPJ(key));
}

    function Submit(source){
        Page_ClientValidate();
        if (Page_IsValid){
        source.disabled = true
            __doPostBack(source.name,'');
        }
        return Page_IsValid;
    }