function number_format(number, decimals, dec_point, thousands_sep){
    var n = !isFinite(+number) ? 0 : +number, 
        prec = !isFinite(+decimals) ? 0 : Math.abs(decimals),
        sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep,        dec = (typeof dec_point === 'undefined') ? '.' : dec_point,
        s = '',
        toFixedFix = function (n, prec) {
            var k = Math.pow(10, prec);
            return '' + Math.round(n * k) / k;        };
    // Fix for IE parseFloat(0.55).toFixed(0) = 0;
    s = (prec ? toFixedFix(n, prec) : '' + Math.round(n)).split('.');
    if (s[0].length > 3) {
        s[0] = s[0].replace(/\B(?=(?:\d{3})+(?!\d))/g, sep);    }
    if ((s[1] || '').length < prec) {
        s[1] = s[1] || '';
        s[1] += new Array(prec - s[1].length + 1).join('0');
    }    return s.join(dec);
}

function trata_campo(campo,digitos)
{
	var i=0;
	while(i<campo.value.length)
	{
		if(digitos.indexOf(campo.value.substring(i,i+1))==-1)
		{
			campo.value=campo.value.substring(0,i) + campo.value.substring(i+1);
		} else {
			i++;
		}
	}
}

function valida_cpf(var_cpf){
        var cpf = var_cpf;
        cpf = cpf.replace(".", "");
        cpf = cpf.replace(".", "");
        cpf = cpf.replace("-", "");

        var numeros, digitos, soma, i, resultado, digitos_iguais;
        digitos_iguais = 1;
        
        if(cpf=="00000000000") return false;
        
        for (i = 0; i < cpf.length - 1; i++){
        	if (cpf.charAt(i) != cpf.charAt(i + 1)){
        		digitos_iguais = 0;
        		break;
        	}
        }
        
        if (!digitos_iguais){
        	numeros = cpf.substring(0,9);
        	digitos = cpf.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))
        			return false;
        	
        		numeros = cpf.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))
        			return false;
        	
        	return true;
        }else{
        	return false;
        }
}

function valida_cnpj(var_cnpj){
        var cnpj= var_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;
	}
                        
}

