Advertisement
Guest User

Untitled

a guest
May 20th, 2019
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 14.73 KB | None | 0 0
  1. var unifisaContato = (function ($) {
  2. var modulo = {};
  3. var tamanhotelefone = 14;
  4. $contatoNome = $('#contatoNome');
  5. $contatoCep = $('#contatoCep');
  6. $contatoEndereco = $('#contatoEndereco');
  7. $contatoNumero = $('#contatoNumero');
  8. $contatoCidade = $('#contatoCidade');
  9. $contatoUF = $('#contatoUF');
  10. $contatoEmail = $('#contatoEmail');
  11. $contatoTelefone = $('#contatoTelefone');
  12. $contatoAssunto = $('#contatoAssunto');
  13. $contatoDepartamento = $('#contatoDepartamento');
  14. $contatoGrupo = $('#contatoGrupo');
  15. $contatoCota = $('#contatoCota');
  16. $contatoMensagem = $('#contatoMensagem');
  17.  
  18. modulo.iniciar = function () {
  19. $(function () {
  20. aplicarMascarasNoFormulario();
  21.  
  22. $('#enviarContato').bind('click', function () {
  23. if (validarDadosDoFormulario()) {
  24. contato();
  25. }
  26. });
  27. $contatoCep.bind('blur', function () {
  28. if ($contatoCep.val() != "") {
  29. retornarEnderecoPorCep();
  30. }
  31. });
  32.  
  33. $("input").bind('blur', function () {
  34. $(this).removeClass("erro");
  35. });
  36.  
  37. });
  38. };
  39.  
  40. AddAntiForgeryToken = function (data) {
  41. data.__RequestVerificationToken = $('input[name=__RequestVerificationToken]').val();
  42. return data;
  43. };
  44.  
  45. function contato() {
  46.  
  47. var data = new FormData();
  48.  
  49. data.append("Nome", $contatoNome.val());
  50. data.append("Cep", $contatoCep.val());
  51. data.append("Endereco", $contatoEndereco.val());
  52. data.append("Numero", $contatoNumero.val());
  53. data.append("Cidade", $contatoCidade.val());
  54. data.append("Estado", $contatoUF.val());
  55. data.append("Email", $contatoEmail.val());
  56. data.append("Telefone", $contatoTelefone.val());
  57. data.append("Assunto", $contatoAssunto.val());
  58. data.append("Departamento", $contatoDepartamento.val());
  59. data.append("Grupo", $contatoGrupo.val());
  60. data.append("Cota", $contatoCota.val());
  61. data.append("Mensagem", $contatoMensagem.val());
  62. data.append("g-recaptcha-response", $("#g-recaptcha-response").val());
  63.  
  64. $.ajax({
  65. url: '/api/consorciounifisa/enviarcontato',
  66. type: "post",
  67. data: data,
  68. contentType: false,
  69. processData: false,
  70. beforeSend: function () {
  71. $("#loadingEnviarContato").fadeIn(1000, "linear");
  72. },
  73. success: function () {
  74. $("#formContato .erro").each(function () {
  75. $(this).removeClass("erro");
  76. });
  77. $('#apOutput').html("<h3 style='color:red;'>Os seus dados foram enviados com sucesso !</h3><h4>Em breve entraremos em contato.</h4>");
  78. $("#loadingEnviarContato").fadeOut(1000, "linear");
  79. },
  80. statusCode: {
  81. 401: function () {
  82. $("#loadingEnviarContato").fadeOut(1000, "linear");
  83. $("html, body").animate({ scrollTop: 0 }, "slow");
  84. $("#dialogerro").html("<p>Ocorreu um problema ao enviar sua solicitação.</p>");
  85. $("#erro_modal").modal();
  86. },
  87. 400: function (error) {
  88. $("#loadingEnviarContato").fadeOut(1000, "linear");
  89. $("html, body").animate({ scrollTop: 0 }, "slow");
  90. var message = "";
  91. switch (error.responseJSON.Message) {
  92. case "missing input secret":
  93. message = "O parâmetro secreto não foi encontrado.";
  94. erroFormulario($('.g-recaptcha'), message);
  95. break;
  96. case "invalid input secret":
  97. message = "O parâmetro secreto é inválido.";
  98. erroFormulario($('.g-recaptcha'), message);
  99. break;
  100. case "missing input response":
  101. message = "Precisamos saber que você não é um robô, por favor, assinale a opção em destaque.";
  102. erroFormulario($('.g-recaptcha'), message);
  103. break;
  104. case "invalid input response":
  105. message = "A resposta ao parâmetro é inválida.";
  106. erroFormulario($('.g-recaptcha'), message);
  107. break;
  108. default:
  109. $("#dialogerro").html("<p>Ocorreu um problema ao enviar sua solicitação.</p>");
  110. $("#erro_modal").modal();
  111. break;
  112.  
  113. }
  114.  
  115. },
  116. 500: function () {
  117. $("#loadingEnviarContato").fadeOut(1000, "linear");
  118. $("html, body").animate({ scrollTop: 0 }, "slow");
  119. $("#dialogerro").html("<p>Ocorreu um problema ao enviar sua solicitação.</p>");
  120. $("#erro_modal").modal();
  121. }
  122. }
  123. });
  124. }
  125.  
  126.  
  127. return modulo;
  128. })(jQuery); // UI
  129.  
  130. function aplicarMascarasNoFormulario() {
  131.  
  132. $contatoTelefone.keyup(function () {
  133. if (/(\((([1,4,6,8,9][1-9])|(2[1,2,4,7,8])|(3[1-8])|(5[1-5])|(7[1,3,4,5,7,9]))\) 9).+/i.test($(this).val())) {
  134. VMasker($(this)).maskPattern("(99) 99999-9999");
  135. }
  136. else {
  137. VMasker($(this)).maskPattern("(99) 9999-9999");
  138. }
  139. });
  140.  
  141. VMasker($contatoCep).maskPattern('99999-999');
  142.  
  143. VMasker($contatoNumero).maskPattern('999999999999999');
  144. }
  145.  
  146. function erroFormulario(obj, msgerro) {
  147. $('#erro_modal').unbind();
  148. $("html, body").animate({ scrollTop: 0 }, "slow");
  149. $("#dialogerro").html("<p>" + msgerro + "</p>");
  150. $("#erro_modal").modal();
  151.  
  152. $('#erro_modal').on('hidden.bs.modal', function (e) {
  153. $("html, body").animate({ scrollTop: obj.offset().top - 150 }, "slow");
  154. obj.focus();
  155. obj.addClass("erro");
  156. });
  157.  
  158. return false;
  159. }
  160.  
  161. // Utils
  162.  
  163. function validarDadosDoFormulario() {
  164.  
  165. if ($contatoNome.val() == "" || $contatoNome.val() == "Nome") {
  166. erroFormulario($contatoNome, "Preencha o seu nome");
  167. }
  168. else if (/\d/g.test($contatoNome.val())) {
  169. erroFormulario($contatoNome, "Seu nome não pode conter números");
  170. }
  171. else if ($contatoNome.val().length <= 3) {
  172. erroFormulario($contatoNome, "Nome inválido. \nPor favor informe seu nome corretamente, sem ser apelido ou abreviação.");
  173. }
  174. else if ($contatoCep.val() == "") {
  175. erroFormulario($contatoCep, "Preencha o seu cep");
  176. }
  177. else if ($contatoCep.val().length < 9) {
  178. erroFormulario($contatoCep, "Cep inválido");
  179. }
  180. else if ($contatoEndereco.val() == "") {
  181. erroFormulario($contatoEndereco, "Preencha o seu endereço");
  182. }
  183. else if ($contatoNumero.val() == "") {
  184. erroFormulario($contatoNumero, "Preencha o número");
  185. }
  186. else if ($contatoCidade.val() == "") {
  187. erroFormulario($contatoCidade, "Preencha a sua cidade!");
  188. }
  189. else if ($contatoUF.val() == "") {
  190. erroFormulario($contatoUF, "Preencha o seu estado");
  191. }
  192. else if ($contatoEmail.val() == "" || $contatoEmail.val() == "E-mail") {
  193. erroFormulario($contatoEmail, "Preencha o seu E-mail");
  194. }
  195. else if (!verificarEmail($contatoEmail.val())) {
  196. erroFormulario($contatoEmail, "E-mail inválido.\n Digite seu e-mail corretamente");
  197. }
  198. else if ($contatoTelefone.val() == "" || $contatoTelefone.val() == "Fone") {
  199. erroFormulario($contatoTelefone, "Preencha o seu telefone");
  200. }
  201. else if (verificarTelefone() != "") {
  202. erroFormulario($contatoTelefone, verificarTelefone());
  203. }
  204. else if ($contatoAssunto.val() == "") {
  205. erroFormulario($contatoAssunto, "Preencha o assunto");
  206. }
  207. else if ($contatoDepartamento.val() == "") {
  208. erroFormulario($contatoDepartamento, "Selecione o departamento");
  209. }
  210. else {
  211. return true;
  212. }
  213. };
  214.  
  215. function retornarEnderecoPorCep() {
  216.  
  217. if ($contatoCep.val().length < 9) {
  218. erroFormulario($contatoCep, "Informe o seu CEP completo");
  219. } else {
  220.  
  221. $("#loadingLocalizarEndereco").fadeIn(1000, "linear");
  222. $.get('/api/consorciounifisa/RetornaEnderecoPorCep?cep=' + $contatoCep.val(), function (data) {
  223. if (data != null && data != undefined) {
  224. $contatoEndereco.val(data.logradouro);
  225. $contatoCidade.val(data.cidade);
  226. $contatoUF.val(data.estado);
  227. $("#loadingLocalizarEndereco").fadeOut(1000, "linear");
  228. }
  229. });
  230. }
  231. }
  232.  
  233.  
  234. function verificarEmail(mail) {
  235. var er = new RegExp(/^[A-Za-z0-9_\-\.]+@[A-Za-z0-9_\-\.]{2,}\.[A-Za-z0-9]{2,}(\.[A-Za-z0-9])?/);
  236. return typeof mail == "string" ? er.test(mail) ? !0 : !1 : typeof mail == "object" ? er.test(mail.value) ? !0 : !1 : !1;
  237. }
  238.  
  239. function verificarTelefone() {
  240.  
  241. if (!(/(\((([1,4,6,8,9][1-9])|(2[1,2,4,7,8])|(3[1-8])|(5[1-5])|(7[1,3,4,5,7,9]))\)).+/i.test($contatoTelefone.val()))) {
  242. return "DDD inválido!";
  243. } else if ($contatoTelefone.val().length < tamanhotelefone) {
  244. return "O telefone não está completo";
  245. } else if ((/(\((.*)\) ((0{6}|1{6}|2{6}|3{6}|4{6}|5{6}|6{6}|7{6}|8{6}|9{6}))|(1234)|(123123)|(4321)).+/i.test($contatoTelefone.val().replace("-", "")))) {
  246. return "Sequência de telefone inválida";
  247. } else {
  248. return "";
  249. }
  250. }
  251.  
  252. function verificarCelular() {
  253.  
  254. //if (!(/(\((([1,4,6,8,9][1-9])|(2[1,2,4,7,8])|(3[1-8])|(5[1-5])|(7[1,3,4,5,7,9]))\)).+/i.test($contatoCelular.val()))) {
  255. if (!(/(\((([1,6,8,9][1-9])|(2[1,2,4,7,8])|(3[1-8])|(7[1,3,4,5,7,9]))\)).+/i.test($contatoCelular.val()))) {
  256. return "DDD inválido!";
  257. } else if ($contatoCelular.val().length < 14) {
  258. return "O celular não está completo";
  259. } else if ((/(\((.*)\) ((0{6}|1{6}|2{6}|3{6}|4{6}|5{6}|6{6}|7{6}|8{6}|9{6}))|(1234)|(123123)|(4321)).+/i.test($contatoCelular.val().replace("-", "")))) {
  260. return "Sequência de celular inválida";
  261. } else {
  262. return "";
  263. }
  264. }
  265.  
  266.  
  267.  
  268.  
  269. function VerificaCPF(cpf) {
  270. // Recebe o valor digitado no campo
  271.  
  272. // Verifica se o campo é nulo
  273. if (cpf.value == '') {
  274. return false;
  275. }
  276.  
  277. if (cpf.value.length > 11) {
  278. cpf.value = ''
  279. return false;
  280. }
  281.  
  282. // Aqui começa a checagem do CPF
  283. var POSICAO, I, SOMA, DV, DV_INFORMADO;
  284. var DIGITO = new Array(10);
  285. DV_INFORMADO = cpf.value.substr(9, 2); // Retira os dois últimos dígitos do número informado
  286.  
  287. // Desemembra o número do CPF na array DIGITO
  288. for (I = 0; I <= 8; I++) {
  289. DIGITO[I] = cpf.value.substr(I, 1);
  290. }
  291.  
  292. // Calcula o valor do 10º dígito da verificação
  293. POSICAO = 10;
  294. SOMA = 0;
  295. for (I = 0; I <= 8; I++) {
  296. SOMA = SOMA + DIGITO[I] * POSICAO;
  297. POSICAO = POSICAO - 1;
  298. }
  299. DIGITO[9] = SOMA % 11;
  300. if (DIGITO[9] < 2) {
  301. DIGITO[9] = 0;
  302. }
  303. else {
  304. DIGITO[9] = 11 - DIGITO[9];
  305. }
  306.  
  307. // Calcula o valor do 11º dígito da verificação
  308. POSICAO = 11;
  309. SOMA = 0;
  310. for (I = 0; I <= 9; I++) {
  311. SOMA = SOMA + DIGITO[I] * POSICAO;
  312. POSICAO = POSICAO - 1;
  313. }
  314. DIGITO[10] = SOMA % 11;
  315. if (DIGITO[10] < 2) {
  316. DIGITO[10] = 0;
  317. }
  318. else {
  319. DIGITO[10] = 11 - DIGITO[10];
  320. }
  321.  
  322. // Verifica se os valores dos dígitos verificadores conferem
  323. DV = DIGITO[9] * 10 + DIGITO[10];
  324. if (DV != DV_INFORMADO) {
  325. cpf.value = '';
  326. return false;
  327. }
  328. else {
  329. return true;
  330. }
  331. if (cpf.value == "11111111111" || cpf.value == "22222222222" || cpf.value == "33333333333" || cpf.value == "44444444444" || cpf.value == "55555555555" || cpf.value == "66666666666" || cpf.value == "77777777777" || cpf.value == "88888888888" || cpf.value == "99999999999" || cpf.value == "00000000000") {
  332. cpf.value = '';
  333. return false;
  334. }
  335. }
  336.  
  337. function VerificaCNPJ(cnpj) {
  338.  
  339. cnpj.value = cnpj.value.replace(/[^\d]+/g, '');
  340.  
  341. if (cnpj.value == '') {
  342. return false;
  343. }
  344.  
  345. if (cnpj.value.length != 14) {
  346. return false;
  347.  
  348. }
  349. // Elimina cnpjs invalidos conhecidos
  350. if (cnpj.value == "00000000000000" ||
  351. cnpj.value == "11111111111111" ||
  352. cnpj.value == "22222222222222" ||
  353. cnpj.value == "33333333333333" ||
  354. cnpj.value == "44444444444444" ||
  355. cnpj.value == "55555555555555" ||
  356. cnpj.value == "66666666666666" ||
  357. cnpj.value == "77777777777777" ||
  358. cnpj.value == "88888888888888" ||
  359. cnpj.value == "99999999999999") {
  360. cnpj.value = ''
  361. //cnpj.focus();
  362. return false;
  363. }
  364. // Valida DVs
  365. tamanho = cnpj.value.length - 2
  366. numeros = cnpj.value.substring(0, tamanho);
  367. digitos = cnpj.value.substring(tamanho);
  368. soma = 0;
  369. pos = tamanho - 7;
  370. for (i = tamanho; i >= 1; i--) {
  371. soma += numeros.charAt(tamanho - i) * pos--;
  372. if (pos < 2)
  373. pos = 9;
  374. }
  375. resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
  376. if (resultado != digitos.charAt(0))
  377. return false;
  378.  
  379. tamanho = tamanho + 1;
  380. numeros = cnpj.value.substring(0, tamanho);
  381. soma = 0;
  382. pos = tamanho - 7;
  383. for (i = tamanho; i >= 1; i--) {
  384. soma += numeros.charAt(tamanho - i) * pos--;
  385. if (pos < 2)
  386. pos = 9;
  387. }
  388. resultado = soma % 11 < 2 ? 0 : 11 - soma % 11;
  389. if (resultado != digitos.charAt(1)) {
  390. cnpj.value = '';
  391. return false;
  392. }
  393. return true;
  394.  
  395. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement