// PARA NOVAS FUNÇÕES ADICIONAR O 'c' ANTES NO NOME PARA IDENTIFICAR QUE A FUNÇÃO É DO CHECKIN

/**
 * Função que limpa o texto deixando apenas os números.
 *
 * Histórico
 * 24/09/2006 - Fernando Penteado
 */

function cLimpaNumero(valor){
	return cLimpaCaracteres(valor,"0123456789");
}

function cLimpaCPF(valor){
	return cLimpaCaracteres(valor,"0123456789.-");
}

function cLimpaLetra(valor){
  valor = valor.toUpperCase();
	return cLimpaCaracteres(valor,"ABCDEFGHIJKLMNOPQRSTUVXWYZ");
}


/*
Funcao que limpa de um valor os caracteres que nao sao permitidos
Parametros: valor - string a ser limpa
            charPermitidos - lista de caracteres permitidos
*/

function cLimpaCaracteres(valor,charsPermitidos){
    var valorTemp = "";
    for(i=0;i<valor.length;i++) {
        if(charsPermitidos.indexOf(valor.charAt(i))!=-1) {
            valorTemp += valor.charAt(i);
        }
    }	
    return valorTemp;
}

/**
 * Função para formatar o número do CPF fornecido, adicionando ponto e traço
 *
 * Histórico
 * 24/09/2006 - Fernando Penteado
 */
function cFormataCPF(valor) {
    var marcara = new Array("", "", "",  ".", "", "", ".", "", "", "-", "");
    var wCpf = cLimpaNumero(valor);
    novoCPF = "";
    for (i=0;i<wCpf.length;i++) {
        novoCPF +=  marcara[i] + wCpf.charAt(i);
    }
    return novoCPF;
}

/**
 * Função para validar o número do CPF fornecido
 *
 */
function cVerificaCPF(valor) {
    var cpf = cLimpaNumero(valor);
    var nonNumbers = /\D/; 
    cpf = ("00000000000" + cpf);
    cpf = cpf.substr(cpf.length-11,cpf.length);
    if (cpf.length == 0 ){
        return false;
    }
    if (cpf.length > 0 && cpf.length < 11 ){ 
        return false;
    }
    if (cpf == "00000000000" || cpf == "11111111111" || cpf == "22222222222" || cpf == "33333333333" || cpf == "44444444444" || cpf == "55555555555" || cpf == "66666666666" || cpf == "77777777777" || cpf == "88888888888" || cpf == "99999999999" || cpf == "01234567890"){
        return false; 
    } 

    var a = []; 
    var b = new Number; 
    var c = 11;

    for (i=0; i<11; i++){ 
        a[i] = cpf.charAt(i); 
        if (i < 9){ 
            b += (a[i] * --c); 
        } 
    } 
    if ((x = b % 11) < 2) { 
        a[9] = 0 
    } else { 
        a[9] = 11-x 
    } 
    b = 0; 
    c = 11; 
    for (y=0; y<10; y++){ 
        b += (a[y] * c--); 
    } 
    if ((x = b % 11) < 2) { 
        a[10] = 0; 
    } else { 
        a[10] = 11-x; 
    } 

    if ((cpf.charAt(9) != a[9]) || (cpf.charAt(10) != a[10])){ 
        return false;
    } 
    return true; 
}

function cValidaEtkt(_cdIataEmpAer, _cdFormulario, _cdSerie) {

    var cdIataEmpAer = _cdIataEmpAer.value; 
    var cdFormulario = _cdFormulario.value; 
    var cdSerie      = _cdSerie.value; 	

    if ( cdIataEmpAer == null || cdIataEmpAer == "" ||
         cdIataEmpAer.length != 3 || !cIsNumber(cdIataEmpAer) ) {
        return DFchangeClassFocus(VPREENCHE_ETKT, _cdIataEmpAer);
    }
    if (cdFormulario == null || cdFormulario == "" ||
        cdFormulario.length != 4 || !cIsNumber(cdFormulario)) {
        return DFchangeClassFocus(VPREENCHE_ETKT, _cdFormulario);
    }
    if (cdSerie == null || cdSerie == "" ||
        cdSerie.length != 6 || !cIsNumber(cdSerie)) {
        return DFchangeClassFocus(VPREENCHE_ETKT, _cdSerie);
    }

    return true;
}    

/**
 * Função para verificar se é um valor numérico.
 *
 */
function cIsNumber(wNumero) {
    var numeric = true;
    for (var i = 0; i<wNumero.length; i++) {
        if ("0123456789".indexOf(wNumero.charAt(i)) == -1) {
            numeric = false;
            break;
        }
    }
    return numeric;
}
/**
 * Função para validar os chars.
 *
 */
function cValidaChar(cValidos, obj, e) {
    var key_code = (e.which)?e.which: e.keyCode;
    if (key_code == 46 || key_code == 8  || key_code == 9  || 
        key_code == 37 || key_code == 38 || key_code == 39 || 
        key_code == 40 || key_code == 36 || key_code == 35) {
        return true;
    }
    var ch = String.fromCharCode(key_code);
    if (cValidos.indexOf(ch) == -1) {
        return false;
    }
    return true;
}

/**
 * Função para pular para o proximo campo quando o usuário tiver 
 * digitado o tamanho maximo do campo atual
 *
 */
function cPulaCampoAutomatico(obj, proxName) {
    var tamanhoMax = obj.maxLength;
    if (obj.value.length == tamanhoMax) {
        var objProx = document.getElementById(proxName);
        if (objProx != "undefined") {
            objProx.focus();
        }
    }
}
