﻿// JScript File


/*
* Permite a digitação somente de números
*/
function OnlyNumbers()
{
    if (event.keyCode < 48 || event.keyCode > 57)
    {
        if (event.keyCode != 8 && event.keyCode != 44 && event.keyCode != 45)
        {
            event.returnValue = false;
        }
    }
}

/*
* Recupera a instancia de um elemento da página HTML
*/
function GetElement(obj)
{
    return document.getElementById(obj);
}

/*
* Valida tela de Login Senha / Lembrar senha
*/
function LembrarSenha(mostrar)
{
    if(mostrar)
    {
        document.getElementById('layLembreteSenha').style.display = '';
        document.getElementById('layDadosLogin').style.display = 'none';
        document.getElementById('layBotoesLogin').style.display = 'none';
        document.getElementById('layBotoesLembreteSenha').style.display = '';
        document.getElementById('lblTopo').innerHTML = 'Informe seu login. Sua senha será enviada no email cadastrado.';
    }
    else
    {
        document.getElementById('layLembreteSenha').style.display = 'none';
        document.getElementById('layDadosLogin').style.display = '';
        document.getElementById('layBotoesLogin').style.display = '';
        document.getElementById('layBotoesLembreteSenha').style.display = 'none';
        document.getElementById('lblTopo').innerHTML = 'Digite seu login e senha para acessar o sistema.';
    }
}

// JScript File


/*
* Permite a digitação somente de números
*/
function OnlyNumbersMask(tipo, campo, teclaPress)
{    

    if (event.keyCode < 48 || event.keyCode > 57)
    {
        if (event.keyCode != 8 && event.keyCode != 40 && event.keyCode != 47 && event.keyCode != 45 && event.keyCode != 46)
        {
            event.returnValue = false;
        }
        
    }
    
    
    Mascara(tipo,campo,teclaPress);
}

function Mascara(tipo, campo, teclaPress) {
	if (window.event)
	{
		var tecla = teclaPress.keyCode;
	} else {
		tecla = teclaPress.which;
	}
 
	var s = new String(campo.value);
	// Remove todos os caracteres à seguir: ( ) / - . e espaço, para tratar a string denovo.
	s = s.replace(/(\.|\(|\)|\/|\-| )+/g,'');
 
	tam = s.length + 1;
 
	if ( tecla != 9 && tecla != 8 ) {
		switch (tipo)
		{
		case 'CPF' :
			if (tam > 3 && tam < 7)
				campo.value = s.substr(0,3) + '.' + s.substr(3, tam);
			if (tam >= 7 && tam < 10)
				campo.value = s.substr(0,3) + '.' + s.substr(3,3) + '.' + s.substr(6,tam-6);
			if (tam >= 10 && tam < 12)
				campo.value = s.substr(0,3) + '.' + s.substr(3,3) + '.' + s.substr(6,3) + '-' + s.substr(9,tam-9);
		break;
 
		case 'CNPJ' :
 
			if (tam > 2 && tam < 6)
				campo.value = s.substr(0,2) + '.' + s.substr(2, tam);
			if (tam >= 6 && tam < 9)
				campo.value = s.substr(0,2) + '.' + s.substr(2,3) + '.' + s.substr(5,tam-5);
			if (tam >= 9 && tam < 13)
				campo.value = s.substr(0,2) + '.' + s.substr(2,3) + '.' + s.substr(5,3) + '/' + s.substr(8,tam-8);
			if (tam >= 13 && tam < 15)
				campo.value = s.substr(0,2) + '.' + s.substr(2,3) + '.' + s.substr(5,3) + '/' + s.substr(8,4)+ '-' + s.substr(12,tam-12);
		break;
 
		case 'TEL' :
			if (tam > 2 && tam < 4)
				campo.value = '(' + s.substr(0,2) + ') ' + s.substr(2,tam);
			if (tam >= 7 && tam < 11)
				campo.value = '(' + s.substr(0,2) + ') ' + s.substr(2,4) + '-' + s.substr(6,tam-6);
		break;
 
		case 'DATA' :
			if (tam > 2 && tam < 4)
				campo.value = s.substr(0,2) + '/' + s.substr(2, tam);
			if (tam > 4 && tam < 11)
				campo.value = s.substr(0,2) + '/' + s.substr(2,2) + '/' + s.substr(4,tam-4);
		break;
		}
	}
}

/*
 * Retira o formato de uma data com 10 digitos
 */
function CutDateFormat(data) 
{
    var resultado = data
    
    if (data.length == 10)
    {
        resultado = data.substring(0, 2) + data.substring(3, 5) + data.substring(6, 10);
    }
    
    return resultado;

}

/*
 * Verifica se a data foi digitada no formato DDMMYYYY
 */
function DateValidate(text_data)
{
    var valor = text_data.value;
    var eValida;
    
    eValida = IsDate(CutDateFormat(valor));
    
    return eValida;
}

/*
 * Valida uma data com 8 digitos no formato DDMMYYYY
 */
function IsDate(data)
{
  
    
    var dia, mes, ano;
    var eValida = false;

    if (data.length == 8) 
    {
    
        dia = data.substring(0,2);
        mes = data.substring(2,4);
        ano = data.substring(4,8);
       
        if (ano.length == 4) 
        {
        
            if (mes == '02') 
            {
                // Valida o mes de fevereiro quanto aos anos bisextos
                eValida = (dia < 29 || (dia == 29 && ano % 4 == 0))
            }
            else 
            {
                if ((mes == '04' || mes == '06' || mes == '09' || mes == '11') && dia < 31)
                {
                    eValida = true;
                }
                else 
                {
                    eValida = ((mes == '01' || mes == '03' || mes == '05' || mes == '07' || mes == '08' || mes == '10' || mes == '12') && dia < 32);
                }
            }
        
        }
       
    }
    
    return eValida;

}

/*
* Valida os digitos do cnpj
*/
function CnpjValidate(VLR){
    VLR = VLR.replace( new RegExp( "/", "g" ), "" );
    VLR = VLR.replace( new RegExp( "-", "g" ), "" ); 
    VLR = VLR.replace( new RegExp( "[.]", "g" ), "" );
    
	if (VLR.length == 0){
		return false;
	}
	
	cadeia="1234567890";
	for (i=0;i<VLR.length;i++){
		if (cadeia.indexOf(VLR.substring(i,i+1))==-1){
			return false;
		}
	}
	
	txtCnpj=VLR;
	if (txtCnpj == "00000000000000"){
		return false;
	}
	
	ultdigito = txtCnpj.substring (13,14);
	pridigito = txtCnpj.substring (12,13);
	mult = 5;
	somat = 0;
	i = 0;
	for (i = 0; i <= 11; i++){
		vnum = parseInt(txtCnpj.substring (i,i+1));
		vnum = vnum * mult;
		somat = somat + vnum;
		mult = mult - 1;
		if (mult < 2){
			mult = 9;
		}
	}
	resto = parseInt(somat / 11);
	resto = somat - (resto * 11);
	resto = 11 - resto;
	if (resto == 10 || resto == 11){
		resto = 0;
	}
	if (resto == pridigito){
		mult = 6;
		somat = 0;
		for (i = 0; i <= 12; i++){
			vnum = parseInt(txtCnpj.substring (i,i+1));
			vnum = vnum * mult;
			somat = somat + vnum;
			mult = mult - 1;
			if (mult < 2){
				mult = 9
			}
		}
		resto = parseInt(somat / 11);
		resto = somat - (resto * 11);
		resto = 11 - resto;
		if (resto == 10 || resto == 11){
			resto = 0;
		}
		if (resto != ultdigito){
			return false;
		}
	}
	else{
		return false;
	}

	return true;
}


function Teste(){

    CnpjValidate("48484.4.4.4-3-3-434///3233-2323/");

}