//---------------------------------------------------------------------------------//
// FUNÇÂO DE TEMPO SLEEP
//---------------------------------------------------------------------------------//

function sleep(milliseconds) {
    var start = new Date().getTime();
    for (var i = 0; i < 1e7; i++) {
        if ((new Date().getTime() - start) > milliseconds){
            break;
        }
    }
}


//-----------------------------------------------------------------------------//
// VALIDA CNPJ
//-----------------------------------------------------------------------------//

function validaCNPJ(cnpj) {
	
    for (var i = 0; i <= cnpj.length; i ++) {
		
        cnpj =  cnpj.replace('.','');
        cnpj =  cnpj.replace('/','');
        cnpj =  cnpj.replace('-','');
	
    }
	
    var numeros, digitos, soma, i, resultado, pos, tamanho, digitos_iguais;
    digitos_iguais = 1;
    if (cnpj.length < 14 && cnpj.length < 15)
        return false;
    for (i = 0; i < cnpj.length - 1; i++)
        if (cnpj.charAt(i) != cnpj.charAt(i + 1))
        {
            digitos_iguais = 0;
            break;
        }
    if (!digitos_iguais)
    {
        tamanho = cnpj.length - 2
        numeros = cnpj.substring(0,tamanho);
        digitos = cnpj.substring(tamanho);
        soma = 0;
        pos = tamanho - 7;
        for (i = tamanho; i >= 1; i--)
        {
            soma += numeros.charAt(tamanho - i) * pos--;
            if (pos < 2)
                pos = 9;
        }
        resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
        if (resultado != digitos.charAt(0))
            return false;
        tamanho = tamanho + 1;
        numeros = cnpj.substring(0,tamanho);
        soma = 0;
        pos = tamanho - 7;
        for (i = tamanho; i >= 1; i--)
        {
            soma += numeros.charAt(tamanho - i) * pos--;
            if (pos < 2)
                pos = 9;
        }
        resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
        if (resultado != digitos.charAt(1))
            return false;
        return true;
    }
    else
        return false;
} 


function valida_cpf(cpf) 
{
    cpf = cpf.replace('.', '');  
    cpf = cpf.replace('.', '');  
    cpf = cpf.replace('-', '');              
            
    if (cpf.length != 11 || cpf == "00000000000" || cpf == "11111111111" || cpf == "22222222222" || cpf == "33333333333" || cpf == "44444444444" || cpf == "55555555555" || cpf == "66666666666" || cpf == "77777777777" || cpf == "88888888888" || cpf == "99999999999")
        return false;
    add = 0;
    for (i=0; i < 9; i ++)
        add += parseInt(cpf.charAt(i)) * (10 - i);
    rev = 11 - (add % 11);
    if (rev == 10 || rev == 11)
        rev = 0;
    if (rev != parseInt(cpf.charAt(9)))
        return false;
    add = 0;
    for (i = 0; i < 10; i ++)
        add += parseInt(cpf.charAt(i)) * (11 - i);
    rev = 11 - (add % 11);
    if (rev == 10 || rev == 11)
        rev = 0;
    if (rev != parseInt(cpf.charAt(10)))
        return false;
    

    return true;
}



jQuery.fn.validateCPF=function(a){var b=this;var c=b.val().replace('.','').replace('.','').replace('-','');if(c.length!=11){return false}else{var d=/1{11}|2{11}|3{11}|4{11}|5{11}|6{11}|7{11}|8{11}|9{11}|0{11}/;if(d.test(c)){return false}else{var x=0;var y=0;var e=0;var f=0;var g=0;var h="";var k="";var l=c.length;x=l-1;for(var i=0;i<=l-3;i++){y=c.substring(i,i+1);e=e+(y*x);x=x-1;h=h+y}f=11-(e%11);if(f==10){f=0}if(f==11){f=0}k=c.substring(0,l-2)+f;x=11;e=0;for(var j=0;j<=(l-2);j++){e=e+(k.substring(j,j+1)*x);x=x-1}g=11-(e%11);if(g==10){g=0}if(g==11){g=0}if((f+""+g)==c.substring(l,l-2)){return true}else{return false}}}};


//funciona
function ValidarCPF(Objcpf){
    var cpf = Objcpf.value;
    exp = /.|-/g
    cpf = cpf.toString().replace( exp, "" );
    var digitoDigitado = eval(cpf.charAt(9)+cpf.charAt(10));
    var soma1=0, soma2=0;
    var vlr =11;
    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);
   
    if(cpf == "11111111111" || cpf == "22222222222" || cpf ==
"33333333333" || cpf == "44444444444" || cpf == "55555555555" || cpf ==
"66666666666" || cpf == "77777777777" || cpf == "88888888888" || cpf ==
"99999999999" || cpf == "00000000000" ){
        var digitoGerado = null;
    }else{
        var digitoGerado = (soma1*10) + soma2;
    }

    if(digitoGerado != digitoDigitado){
       return false;
    }
    return true;
} 




function valida_cnpj(cnpj)
{
    cnpj = cnpj.replace('.', '');  
    cnpj = cnpj.replace('.', '');  
    cnpj = cnpj.replace('/', '');  
    cnpj = cnpj.replace('-', '');    
    
    var numeros, digitos, soma, i, resultado, pos, tamanho, digitos_iguais;
    digitos_iguais = 1;
    if (cnpj.length < 14 && cnpj.length < 15)
        return false;
    for (i = 0; i < cnpj.length - 1; i++)
        if (cnpj.charAt(i) != cnpj.charAt(i + 1))
        {
            digitos_iguais = 0;
            break;
        }
    if (!digitos_iguais)
    {
        tamanho = cnpj.length - 2
        numeros = cnpj.substring(0,tamanho);
        digitos = cnpj.substring(tamanho);
        soma = 0;
        pos = tamanho - 7;
        for (i = tamanho; i >= 1; i--)
        {
            soma += numeros.charAt(tamanho - i) * pos--;
            if (pos < 2)
                pos = 9;
        }
        resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
        if (resultado != digitos.charAt(0))
            return false;
        tamanho = tamanho + 1;
        numeros = cnpj.substring(0,tamanho);
        soma = 0;
        pos = tamanho - 7;
        for (i = tamanho; i >= 1; i--)
        {
            soma += numeros.charAt(tamanho - i) * pos--;
            if (pos < 2)
                pos = 9;
        }
        resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
        if (resultado != digitos.charAt(1))
            return false;
        return true;
    }
    else
        return false;
} 




//-----------------------------------------------------------------------------//
// VALIDA E-MAIL
//-----------------------------------------------------------------------------//

function validaEmail(email)
{
    if(email == "")
    {
        alert('Você precisa digitar um endereço de e-mail! ');
        return false;
    }

    if(email.search(/^\w+((-\w+)|(\.\w+))*\@\w+((\.|-)\w+)*\.\w+$/) == -1)
    {
        alert('Você precisa digitar um endereço de e-mail valido! ');
        return false;
    }
	
    return true;
}


//-----------------------------------------------------------------------------//
// MASCARAS
//-----------------------------------------------------------------------------//

function formataMoeda(campo,evt) {
   
    //para evitar caracteres alfas.
    if(((evt.keyCode < 96) || (evt.keyCode > 105)) && ((evt.keyCode < 48) || (evt.keyCode > 57)) ){
        campo.value = campo.value.replace(String.fromCharCode(evt.keyCode).toLowerCase(),"");
    }
    str = campo.value;

    while(str.search(",") != -1)
        str = str.replace(",","");
   
    var 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;
	   
    if (campo.value == ',')
        campo.value = '';

}


//---------------------------------------------------------------//
// MASK
//---------------------------------------------------------------//

function MASK(form) {
	
    $(form + ' input[mask=telefone]').each( function() {
		
        $(this).mask("(99) 9999-9999");
	
    });

    $(form + ' input[mask=cep]').each( function() {
		
        $(this).mask("99999-999");
	
    });

    $(form + ' input[mask=cpf]').each( function() {
		
        $(this).mask("999.999.999-99");
	
    });

    $(form + ' input[mask=cnpj]').each( function() {
		
        $(this).mask("99.999.999/9999-99");
	
    });

    $(form + ' input[mask=data]').each( function() {
		
        $(this).mask("99/99/9999");
	
    });

    $(form + ' input[mask=moeda]').each( function() {
		
        $(this).keyup( function(event) {
			
            formataMoeda(this,event);
								
        });

    });
	
    $(form + ' input[mask=dia_mes]').each( function() {
		
        $(this).mask("99/99");
	
    });
	
    $(form + ' input[mask=numero]').each( function() {
		
        $(this).keyup( function(event) {
								
            if(((event.keyCode < 96) || (event.keyCode > 105)) && ((event.keyCode < 48) || (event.keyCode > 57)) ){
                $(this).val( $(this).val().replace(String.fromCharCode(event.keyCode).toLowerCase(),"") );
            }
			
            //verifica se não é numero
            if (isNaN($(this).val()))
            {
                alert('Você deve digitar um número!');
                $(this).val("");
            }	
		
        });

    });
}


var Common = {
	
    // ID = id do que se quer escluir
    // URL = pagina que sera feita a exclusao
    //MSG = se quiser definir mensagem especial para exclusao
    'Delete': function(URL,MSG,VINCULO)
    {
        if (VINCULO > 0)
            alert('Não é possível excluir o registro, pois a financiamentos vinculados a ele! ');
        else
        {
            if (MSG == "" || MSG == null)
                MSG = "Tem certeza que deseja excluir?";
				
            if(confirm(MSG))
                document.location = URL;
        }
    }
}


var Contato = {
	
    'Valida': function()
    {	
		
        if($('#nome').val() == "") 
        {
            alert('Você precisa digitar seu nome! ')
            $('#nome').focus();
            return false;
        }
		
        if(!validaEmail($('#email').val())) 
        {
            $('#email').focus();
            return false;
        }
		
        if($('#assunto').val() == "") 
        {
            alert('Você precisa digitar o assunto! ')
            $('#assunto').focus();
            return false;
        }
		
        if($('#mensagem').val() == "") 
        {
            alert('Você precisa digitar uma mensagem! ')
            $('#mensagem').focus();
            return false;
        }
		
    }
	
}

