//Formatar número para moeda function formatarNumeroParaMoeda(n) { var c; c = 2; var d = ","; var t = "."; var s; var i; var j; c = isNaN(c = Math.abs(c)) ? 2 : c, d = d == undefined ? "," : d, t = t == undefined ? "." : t, s = n < 0 ? "-" : "", i = parseInt(n = Math.abs(+n || 0).toFixed(c)) + "", j = (j = i.length) > 3 ? j % 3 : 0; return s + (j ? i.substr(0, j) + t : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : ""); } //Formatar moeda para número function formatarMoedaParaNumero(valor) { return isNaN(valor) == false ? parseFloat(valor) : parseFloat(valor.replace("R$", "").replace(".", "").replace(".", "").replace(".", "").replace(",", ".")); } //CleanString var cleanString = function (string) { var str = cleanAcentos(string); return str.replace(/[`~!@@#$%¨^&*()_|+\-=?;:'",.<>\{\}\[\]\\\/]/gi, ''); }; //Remove Acentos var cleanAcentos = function (string) { //var acentos = "áàãââÁÀÃÂéêÉÊíÍóõôÓÔÕúüÚÜçÇabcdefghijklmnopqrstuvxwyz&"; //var traducao = "AAAAAAAAAEEEEIIOOOOOOUUUUCCABCDEFGHIJKLMNOPQRSTUVXWYZE"; var acentos = "áàãâÁÀÃÂéêÉÊíÍóõôÓÔÕúüÚÜçÇ&"; var traducao = "aaaaAAAAeeEEiIoooOOOuuUUcCe"; var posic, carac; var tempLog = ""; for (var i = 0; i < string.length; i++) { carac = string.charAt(i); posic = acentos.indexOf(carac); if (posic > -1) tempLog += traducao.charAt(posic); else tempLog += string.charAt(i); } return (tempLog); }; //Pisca um elemento function Elemento() { this.countTimeOutElemento = 0; this.timeOutElemento = null; this.corOriginalElemento = ""; this.piscaElemento = function (elemento, acende) { this.elemen = $("#" + elemento); this.countTimeOutElemento++; if (this.elemen.css("color") != "rgb(220, 20, 60)") this.corOriginalElemento = this.elemen.css("color"); this.elemen.css("color", this.corOriginalElemento); if (acende) this.elemen.css("color", "rgb(220, 20, 60)"); clearTimeout(this.timeOutElemento); var self = this; this.timeOutElemento = setTimeout(function () { self.piscaElemento(elemento, !acende); }, 200); //Sair da função if (this.countTimeOutElemento > 5) { clearTimeout(this.timeOutElemento); this.countTimeOutElemento = 0; this.elemen.css("color", this.corOriginalElemento); } }; } //Zeros a esquerda Number.prototype.padLeft = function (n, str) { return (this < 0 ? '-' : '') + Array(n - String(Math.abs(this)).length + 1) .join(str || '0') + (Math.abs(this)); } //--------------------------------------------------------------------------------------------------- //valida os campos inputs do [type = file] var validateArquivos = function (string) { var $check = true; $(string).each(function () { var files = $(this).val(); if (files == '') { $check = false; return false; } return false; }); return $check; } //Formata data function MascaraData(w, e, m, r, a) { // Cancela se o evento for Backspace if (!e) var e = window.event if (e.keyCode) code = e.keyCode; else if (e.which) code = e.which; // Variáveis da função var txt = (!r) ? w.value.replace(/[^\d]+/gi, '') : w.value.replace(/[^\d]+/gi, '').reverse(); var mask = (!r) ? m : m.reverse(); var pre = (a) ? a.pre : ""; var pos = (a) ? a.pos : ""; var ret = ""; if (code == 9 || code == 8 || txt.length == mask.replace(/[^#]+/g, '').length) return false; // Loop na máscara para aplicar os caracteres for (var x = 0, y = 0, z = mask.length; x < z && y < txt.length;) { if (mask.charAt(x) != '#') { ret += mask.charAt(x); x++; } else { ret += txt.charAt(y); y++; x++; } } // Retorno da função ret = (!r) ? ret : ret.reverse() w.value = pre + ret + pos; } var validaEmail = function (email) { var regex = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i; return regex.test(email); } var validaPlaca = function (placa) { var er = /[a-z]{3}-?\d{4}/gim; er.lastIndex = 0; return er.test(placa); } // Formata o campo CEP function formataPlaca(campo, evt) { //312555-650 var xPos = PosicaoCursor(campo); evt = getEvent(evt); var tecla = getKeyCode(evt); if (!teclaValida(tecla)) return; vr = campo.value = filtraCampo(campo); tam = vr.length; if (tam < 3) campo.value = vr; else if (tam == 3) campo.value = vr + '-'; else if (tam > 3) campo.value = vr.substr(0, 3) + '-' + vr.substr(3); MovimentaCursor(campo, xPos); } // move o cursor para a posição pos function MovimentaCursor(textarea, pos) { if (pos <= 0) return; //se a posição for 0 não reposiciona if (typeof (document.selection) != 'undefined') { //IE var oRange = textarea.createTextRange(); var LENGTH = 1; var STARTINDEX = pos; oRange.moveStart("character", -textarea.value.length); oRange.moveEnd("character", -textarea.value.length); oRange.moveStart("character", pos); //oRange.moveEnd("character", pos); oRange.select(); textarea.focus(); } if (typeof (textarea.selectionStart) != 'undefined') { //FireFox textarea.selectionStart = pos; textarea.selectionEnd = pos; } } //descobre qual a posição do cursor no campo function PosicaoCursor(textarea) { var pos = 0; if (typeof (document.selection) != 'undefined') { //IE var range = document.selection.createRange(); var i = 0; for (i = textarea.value.length; i > 0; i--) { if (range.moveStart('character', 1) == 0) break; } pos = i; } if (typeof (textarea.selectionStart) != 'undefined') { //FireFox pos = textarea.selectionStart; } if (pos == textarea.value.length) return 0; //retorna 0 quando não precisa posicionar o elemento else return pos; //posição do cursor } // recupera o evento do form function getEvent(evt) { if (!evt) evt = window.event; //IE return evt; } //Recupera o código da tecla que foi pressionado function getKeyCode(evt) { var code; if (typeof (evt.keyCode) == 'number') code = evt.keyCode; else if (typeof (evt.which) == 'number') code = evt.which; else if (typeof (evt.charCode) == 'number') code = evt.charCode; else return 0; return code; } //evita criar mascara quando as teclas são pressionadas function teclaValida(tecla) { if (tecla == 8 //backspace //Esta evitando o post, quando são pressionadas estas teclas. //Foi comentado pois, se for utilizado o evento texchange, é necessario o post. || tecla == 9 //TAB || tecla == 27 //ESC || tecla == 16 //Shif TAB || tecla == 45 //insert || tecla == 46 //delete || tecla == 35 //home || tecla == 36 //end || tecla == 37 //esquerda || tecla == 38 //cima || tecla == 39 //direita || tecla == 40)//baixo return false; else return true; } // limpa todos os caracteres especiais do campo solicitado function filtraCampo(campo) { var s = ""; var cp = ""; vr = campo.value; tam = vr.length; for (i = 0; i < tam; i++) { if (vr.substring(i, i + 1) != "/" && vr.substring(i, i + 1) != "-" && vr.substring(i, i + 1) != "." && vr.substring(i, i + 1) != "(" && vr.substring(i, i + 1) != ")" && vr.substring(i, i + 1) != ":" && vr.substring(i, i + 1) != ",") { s = s + vr.substring(i, i + 1); } } return s; //return campo.value.replace("/", "").replace("-", "").replace(".", "").replace(",", "") } //Formatação com limitação para campo TextArea var MaskTextarea_Dois = function (Campo) { var resto = 500;//valor representado no banco de dados var resultado = resto - $(Campo).val().length; $("#Qtd2").text((resultado == -1 ? 0 : resultado) + " " + "Caracteres"); if ($(Campo).val().length > resto) { alert("Atenção, você atingiu o limite máximo de caracteres!"); $("#txObs").val($("#txObs").val().substr(0, 500)); $("#Qtd2").text("0 " + "Caracteres"); } } //Formata Moeda function FormataMoeda(id, tammax, teclapres) { if (window.event) { // Internet Explorer var tecla = teclapres.keyCode; } else if (teclapres.which) { // Nestcape / firefox var tecla = teclapres.which; } vr = document.getElementById(id).value; vr = vr.toString().replace("/", ""); vr = vr.toString().replace("/", ""); vr = vr.toString().replace(",", ""); vr = vr.toString().replace(".", ""); vr = vr.toString().replace(".", ""); vr = vr.toString().replace(".", ""); vr = vr.toString().replace(".", ""); tam = vr.length; if (tam < tammax && tecla != 8) { tam = vr.length + 1; } if (tecla == 8) { tam = tam - 1; } if (tecla == 8 || tecla >= 48 && tecla <= 57 || tecla >= 96 && tecla <= 105) { if (tam <= 2) { document.getElementById(id).value = vr; } if ((tam > 2) && (tam <= 5)) { document.getElementById(id).value = vr.substr(0, tam - 2) + ',' + vr.substr(tam - 2, tam); } if ((tam >= 6) && (tam <= 8)) { document.getElementById(id).value = vr.substr(0, tam - 5) + '.' + vr.substr(tam - 5, 3) + ',' + vr.substr(tam - 2, tam); } if ((tam >= 9) && (tam <= 11)) { document.getElementById(id).value = vr.substr(0, tam - 8) + '.' + vr.substr(tam - 8, 3) + '.' + vr.substr(tam - 5, 3) + ',' + vr.substr(tam - 2, tam); } if ((tam >= 12) && (tam <= 14)) { document.getElementById(id).value = vr.substr(0, tam - 11) + '.' + vr.substr(tam - 11, 3) + '.' + vr.substr(tam - 8, 3) + '.' + vr.substr(tam - 5, 3) + ',' + vr.substr(tam - 2, tam); } if ((tam >= 15) && (tam <= 17)) { document.getElementById(id).value = vr.substr(0, tam - 14) + '.' + vr.substr(tam - 14, 3) + '.' + vr.substr(tam - 11, 3) + '.' + vr.substr(tam - 8, 3) + '.' + vr.substr(tam - 5, 3) + ',' + vr.substr(tam - 2, tam); } } } // Verifica se a imagem carregou com erro e substitiu por uma imagem padrão function validateImage(img, uri, name) { img.onerror = null; // Evita um loop infinito se a imagem de substituição também falhar img.src = uri + '/Assets/Imagens/' + name; } //Criar um cookie function setCookie(name, value, days) { var expires = ""; if (days) { var date = new Date(); date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); expires = "; expires=" + date.toUTCString(); } document.cookie = name + "=" + (value || "") + expires + "; path=/"; } //Ler um cookie function getCookie(name) { var cookies = document.cookie; var prefix = name + "="; var begin = cookies.indexOf("; " + prefix); if (begin == -1) { begin = cookies.indexOf(prefix); if (begin != 0) { return null; } } else { begin += 2; } var end = cookies.indexOf(";", begin); if (end == -1) { end = cookies.length; } return unescape(cookies.substring(begin + prefix.length, end)); } //Deletar um cookie function deleteCookie(name) { if (getCookie(name)) document.cookie = name + "=" + "; expires=Thu, 01-Jan-70 00:00:01 GMT"; } // Define um botão para o estado de desabilitado var loadingButton = function (button, text) { button.attr('disabled', 'disabled'); var str = ''; str += ' ' + text; button.html(str); }; // Recupera um botão de estado de desabilitado para normal var recoveryButton = function (button, text) { button.removeAttr('disabled', 'disabled'); button.html(text); };