// ==UserScript==
// @author Dione Ramos
// @name CND
// @version 3
// @license MIT
// @description Atalho para certidao negativa de debitos da receita federal
// @include http://www.receita.fazenda.gov.br/Aplicacoes/ATSPO/Certidao/CNDConjuntaSegVia/*
// @include https://www.receita.fazenda.gov.br/Aplicacoes/ATSPO/Certidao/CNDConjuntaSegVia/*
// @require https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js
// @require https://cdnjs.cloudflare.com/ajax/libs/PapaParse/4.3.3/papaparse.min.js
// @require https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/jquery-ui.min.js
// @resource ACcss https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.4/themes/smoothness/jquery-ui.css
// @resource csv2 https://drive.google.com/uc?export=download&id=0B5O4iFiZeWjQRXNyR3VwVVBIXzA
// @resource csv https://drive.google.com/uc?export=download&id=0B5O4iFiZeWjQX3VpOHVseGNVUm8
// @grant GM_addStyle
// @grant GM_getResourceText
// @namespace https://gf.qytechs.cn/users/23504
// ==/UserScript==
/* jshint -W097 */
var versao = 3;
GM_addStyle(GM_getResourceText("ACcss"));
function _log(s) {console.log(s);}
var resultadoOK = '/Aplicacoes/ATSPO/Certidao/CNDConjuntaSegVia/ResultadoSegVia.asp';
var naotem = '/Aplicacoes/ATSPO/Certidao/CNDConjuntaSegVia/SegundaViaCNDConjuntaMsg.asp';
if (window.location.pathname == resultadoOK) {
document.getElementsByTagName('table')[8].remove();
document.getElementsByTagName('table')[0].remove();
document.getElementById('barra-brasil').remove();
window.print();
} else if (window.location.pathname == naotem) {
var pics = ['EoJjcn8', 'fHoY4OE', 'KvF4Ujg', 'DrJteQy', 'YW2LfAG', 'NzzJhGU'];
var rand = Math.random() * 10;
if (5 >= rand) {
var p = pics[Math.floor(Math.random() * pics.length)];
$('table').eq(0).after('<img style="width:150px" src="http://i.imgur.com/' + p + '.jpg">');
}
}
$('#CertidaoNegativa').prepend('<div id="container"></div>');
$('#container').append('<input id="search" type="text"/><br/>');
$('#container').append('<span id="razao" class="meta"></span>');
$('#container').append('<span id="codigo" class="meta"></span>');
$('#container').append('<span id="contato" class="meta"></span>');
$('#container').append('<span id="vai" class="meta"><a href="#" target="_blank" id="certidao" >Consultar</a></span>');
$('#container').append('<span id="aut">CND v'+versao+' - Dione R</span>');
Papa.parse(GM_getResourceText("csv"), {
header:true,
complete: function(results) {
$( "#search" ).autocomplete({
source: results.data,
select: function( event, ui ) {
$("#razao").text(ui.item.label)
$("#codigo").text('LC: ' + ui.item.codigo)
$("#contato").text('Contato: ' + ui.item.contato)
$("#search").css('border','2px solid green');
$("#certidao").attr('href', "http://www.receita.fazenda.gov.br/Aplicacoes/ATSPO/Certidao/CNDConjuntaSegVia/ResultadoSegVia.asp?Origem=1&Tipo=1&NI=" + ui.item.cnpj.toString() + "&Senha=");
$("#certidao").css({'color': 'green', 'cursor': 'pointer'});
}
});
}
})
$("#search").keyup(function(){
if(validarCNPJ($(this).val())){
$("#search").css('border','2px solid green');
$("#certidao").css({'color': 'green', 'cursor': 'pointer'});
}else{
$("#search").css('border','2px solid red');
}
});
$('#container').css({'float': 'left', 'background': '#1F1F1F', 'padding': '10px', 'font-family': 'tahoma'});
$('.meta').css({'color': '#7FDBFF', 'display': 'block', 'font-size': '13px' });
$('#aut').css({'text-shadow': '1px 1px 1px black', 'font-size':'12px','color':'gray'});
$('#certidao').css({
'line-height': '30px',
'text-shadow':'black 1px 1px 1px',
'color': '#444',
'background': '#383838',
'width': '100%',
'display': 'block',
'box-sizing': 'border-box',
'text-align': 'center',
'letter-spacing': '3px',
'font-size': '16px',
'text-decoration': 'none',
'font-weight':'bold',
'cursor':'no-drop',
'margin-bottom': '10px',
});
$('#search').css({
'height': '30px',
'width': '100%',
'font-size': '22px',
'border':'0',
'padding': '3px',
'margin-bottom': '10px',
'outline':'none'
});
function validarCNPJ(cnpj) {
cnpj = cnpj.replace(/[^\d]+/g, '');
if (cnpj === ''){
return false;
}
if (cnpj.length != 14){
return false;
}
if (cnpj == "00000000000000" ||
cnpj == "11111111111111" ||
cnpj == "22222222222222" ||
cnpj == "33333333333333" ||
cnpj == "44444444444444" ||
cnpj == "55555555555555" ||
cnpj == "66666666666666" ||
cnpj == "77777777777777" ||
cnpj == "88888888888888" ||
cnpj == "99999999999999"){
return false;
}
// Valida DVs
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;
}