1! function (t, e) { 2 "function" == typeof define && define.amd ? define(e) : "object" == typeof exports ? module.exports = e() : t.VMasker = e() 3}(this, function () { 4 var t = "9", 5 e = "A", 6 n = "S", 7 i = [8, 9, 16, 17, 18, 36, 37, 38, 39, 40, 91, 92, 93], 8 o = function (t) { 9 for (var e = 0, n = i.length; n > e; e++) 10 if (t == i[e]) return !1; 11 return !0 12 }, 13 r = function (t) { 14 return t = t || {}, t = { 15 precision: t.hasOwnProperty("precision") ? t.precision : 2, 16 separator: t.separator || ",", 17 unit: t.unit && t.unit.replace(/[\s]/g, "") + " " || "", 18 suffixUnit: t.suffixUnit && " " + t.suffixUnit.replace(/[\s]/g, "") || "", 19 zeroCents: t.zeroCents, 20 lastOutput: t.lastOutput 21 }, t.moneyPrecision = t.zeroCents ? 0 : t.precision, t 22 }, 23 s = function (i, o, r) { 24 for (; o < i.length; o++)(i[o] === t || i[o] === e || i[o] === n) && (i[o] = r); 25 return i 26 }, 27 l = function (t) { 28 this.elements = t 29 }; 30 l.prototype.unbindElementToMask = function () { 31 for (var t = 0, e = this.elements.length; e > t; t++) this.elements[t].lastOutput = "", this.elements[t].onkeyup = !1, this.elements[t].onkeydown = !1, this.elements[t].value.length && (this.elements[t].value = this.elements[t].value.replace(/\D/g, "")) 32 }, l.prototype.bindElementToMask = function (t) { 33 for (var e = this, n = function (n) { 34 n = n || window.event; 35 var i = n.target || n.srcElement; 36 o(n.keyCode) && setTimeout(function () { 37 e.opts.lastOutput = i.lastOutput, i.value = a[t](i.value, e.opts), i.lastOutput = i.value, i.setSelectionRange && e.opts.suffixUnit && i.setSelectionRange(i.value.length, i.value.length - e.opts.suffixUnit.length) 38 }, 0) 39 }, i = 0, r = this.elements.length; r > i; i++) this.elements[i].lastOutput = "", this.elements[i].onkeyup = n, this.elements[i].value.length && (this.elements[i].value = a[t](this.elements[i].value, this.opts)) 40 }, l.prototype.maskMoney = function (t) { 41 this.opts = r(t), this.bindElementToMask("toMoney") 42 }, l.prototype.maskNumber = function () { 43 this.opts = {}, this.bindElementToMask("toNumber") 44 }, l.prototype.maskAlphaNum = function () { 45 this.opts = {}, this.bindElementToMask("toAlphaNumeric") 46 }, l.prototype.maskPattern = function (t) { 47 this.opts = { 48 pattern: t 49 }, this.bindElementToMask("toPattern") 50 }, l.prototype.unMask = function () { 51 this.unbindElementToMask() 52 }; 53 var a = function (t) { 54 if (!t) throw new Error("VanillaMasker: There is no element to bind."); 55 var e = "length" in t ? t.length ? t : [] : [t]; 56 return new l(e) 57 }; 58 return a.toMoney = function (t, e) { 59 if (e = r(e), e.zeroCents) { 60 e.lastOutput = e.lastOutput || ""; 61 var n = "(" + e.separator + "[0]{0," + e.precision + "})", 62 i = new RegExp(n, "g"), 63 o = t.toString().replace(/[\D]/g, "").length || 0, 64 s = e.lastOutput.toString().replace(/[\D]/g, "").length || 0; 65 t = t.toString().replace(i, ""), s > o && (t = t.slice(0, t.length - 1)) 66 } 67 var l = t.toString().replace(/[\D]/g, ""), 68 a = new RegExp("(\\" + e.separator + ")$"), 69 u = l.substr(0, l.length - e.moneyPrecision), 70 p = u.substr(0, u.length % 3), 71 h = new Array(e.precision + 1).join(""); 72 u = u.substr(u.length % 3, u.length); 73 for (var c = 0, f = u.length; f > c; c++) p += u[c]; 74 if (!e.zeroCents) { 75 var g = l.length - e.precision, 76 m = l.substr(g, e.precision), 77 v = m.length, 78 y = e.precision > v ? e.precision : v; 79 h = (h + m).slice(-y) 80 } 81 var b = e.unit + p + e.separator + h + e.suffixUnit; 82 return b.replace(a, "") 83 }, a.toPattern = function (i, o) { 84 var r, l = "object" == typeof o ? o.pattern : o, 85 a = l.replace(/\W/g, ""), 86 u = l.split(""), 87 p = i.toString().replace(/\W/g, ""), 88 h = p.replace(/\W/g, ""), 89 c = 0, 90 f = u.length, 91 g = "object" == typeof o ? o.placeholder : void 0; 92 for (r = 0; f > r; r++) { 93 if (c >= p.length) { 94 if (a.length == h.length) return u.join(""); 95 if (void 0 !== g && a.length > h.length) return s(u, r, g).join(""); 96 break 97 } 98 if (u[r] === t && p[c].match(/[0-9]/) || u[r] === e && p[c].match(/[a-zA-Z]/) || u[r] === n && p[c].match(/[0-9a-zA-Z]/)) u[r] = p[c++]; 99 else if (u[r] === t || u[r] === e || u[r] === n) return void 0 !== g ? s(u, r, g).join("") : u.slice(0, r).join("") 100 } 101 return u.join("").substr(0, r) 102 }, a.toNumber = function (t) { 103 return t.toString().replace(/(?!^-)[^0-9]/g, "") 104 }, a.toAlphaNumeric = function (t) { 105 return t.toString().replace(/[^a-z0-9 ]+/i, "") 106 }, a 107}
107); 108 109// Mantem apenas a versão mais recente do script 110if (typeof dinForms == "undefined" || dinForms.version < 1.3) { 111 var dinForms = { 112 version: 1.3, 113 onLoad: function () { 114 // 115 var forms = document.getElementsByClassName("formIntegration"); 116 for (var k = 0; k < forms.length; ++k) { 117 var inputElement = forms[k].getElementsByClassName("din-input-mask"); 118 for (var i = 0; i < inputElement.length; ++i) { 119 switch (inputElement[i].getAttribute("din-mask-type")) { 120 case "DT": 121 case "DH": 122 var str = inputElement[i].getAttribute("format"); 123 VMasker(inputElement[i]).maskPattern(str.replace(/D|M|A|Y|H/g, "9")); 124 break; 125 case "INT": 126 VMasker(inputElement[i]).maskNumber(); 127 break; 128 case "FLT": 129 var str = inputElement[i].getAttribute("format"); 130 VMasker(inputElement[i]).maskMoney({ 131 separator: str 132 }); 133 break; 134 } 135 } 136 } 137 138 // 139 var referer = document.referrer ? document.referrer.match(/:\/\/(.[^/]+)/)[1] : ""; 140 var hostname = window.location.hostname; 141 if (referer != hostname) { 142 var jsonParams = { 143 "url": window.location.href, 144 "referer": document.referrer 145 }; 146 var cookieData = btoa(JSON.stringify(jsonParams)); 147 dinForms.SetCookie("dinTrafficSource", cookieData, 90); 148 } 149 }, 150 ValidateForm: function (form) { 151 this.LimpaAvisos(form); 152 153 /********************************************************/ 154 // validação de cada tipo de campo 155 /********************************************************/ 156 var elem = form.elements; 157 var enviar = true; 158 for (var i = 0; i < elem.length; i++) { 159 if (elem[i].type == "hidden") { 160 continue 161 } 162 163 var classList = elem[i].className.split(" "); 164 165 this.removeClass("field-error", elem[i]); 166 elem[i].value = elem[i].value.trim(); 167 168 if (classList.indexOf("type_EMAIL") != -1) { 169 if (!this.validateEmail(elem[i].value)) { 170 this.addClass("field-error", elem[i]); 171 enviar = false; 172 } 173 } else if (classList.indexOf("type_DT") != -1) { 174 if (elem[i].value != "" && !this.existDate(this.prepareDate(elem[i].value, elem[i].getAttribute("format")), false)) { 175 this.addClass("field-error", elem[i]); 176 enviar = false; 177 } 178 } else if (classList.indexOf("type_DH") != -1) { 179 if (elem[i].value != "" && !this.existDate(this.prepareDate(elem[i].value, elem[i].getAttribute("format")), true)) { 180 this.addClass("field-error", elem[i]); 181 enviar = false; 182 } 183 } else if (classList.indexOf("type_PHN_NUM") != -1) { 184 var fieldName = elem[i].getAttribute("hd-name"); 185 var text = elem[i].value; 186 var patPhone = /\d+/g; 187 var res; 188 var resultNum = ""; 189 var resultDDI = ""; 190 res = text.match(patPhone); 191 192 if (res !== null) { 193 resultNum = res.join(""); 194 } 195 196 form.elements[fieldName].value = ""; 197 198 if (text != "" && resultNum.length < 3) { 199 this.addClass("field-error", elem[i]); 200 enviar = false;
201 } else if (resultNum.length >= 3) { 202 203 text = form.elements[fieldName + "_DDI"].value 204 res = text.match(patPhone); 205 206 if (res !== null) { 207 resultDDI = res.join(""); 208 form.elements[fieldName].value = resultDDI + resultNum; 209 } else { 210 this.addClass("field-error", form.elements[fieldName + "_DDI"]); 211 enviar = false; 212 } 213 } 214 } 215 216 // CAMPOS OBRIGATORIOS 217 if (classList.indexOf("field-required") != -1) { 218 219 // Todos os campos não-LVM 220 if (classList.indexOf("type_LVM") == -1) { 221 if (elem[i].value.trim() == "") { 222 this.addClass("field-error", elem[i]); 223 enviar = false; 224 } 225 } 226 227 // else lvm... 228 if (classList.indexOf("type_LVM") != -1) { 229 var hdName = elem[i].getAttribute("hd-name"); 230 var ok = false; 231 232 this.removeClass("field-error", form.getElementsByClassName("containerMultiple_" + hdName)[0]); // é o único caso que a classe é removida deste jeito 233 234 var checkboxes = form.getElementsByClassName("chk_" + hdName); 235 for (var j = 0; j < checkboxes.length; j++) { 236 if (checkboxes[j].checked == true) { 237 ok = true; 238 break; 239 } 240 } 241 if (!ok) { 242 this.addClass("field-error", form.getElementsByClassName("containerMultiple_" + hdName)[0]); 243 enviar = false; 244 } 245 } 246 } 247 } 248 249 /********************************************************/ 250 // Em caso de falha na validação... 251 // Mensagem de Campo Obrigatório 252 /********************************************************/ 253 if (!enviar) { 254 var msgError = form.getElementsByClassName("DinamizeDivMessageError")[0]; 255 if (msgError && msgError.innerHTML.length) { 256 msgError.style.display = "block"; 257 } 258 return false 259 } 260 261 /********************************************************/ 262 // Escreve valores nos campos hidden (quando necessário) 263 /********************************************************/ 264 265 // Listas de Valores Multiplos (LVM) 266 var lvmElements = form.getElementsByClassName("type_LVM"); 267 var checkboxes, checkedValues; 268 var hdName; 269 for (var i = 0; i < lvmElements.length; i++) { 270 hdName = lvmElements[i].getAttribute("hd-name"); 271 272 checkboxes = form.getElementsByClassName("chk_" + hdName); 273 checkedValues = ""; 274 275 if (checkboxes.length > 0) { 276 for (var k = 0; k < checkboxes.length; k++) { 277 if (checkboxes[k].checked) { 278 checkedValues += "|" + checkboxes[k].value; 279 } 280 } 281 } 282 checkedValues = checkedValues.replace("|", ""); 283 form.elements[lvmElements[i].getAttribute("hd-name")].value = checkedValues; 284 } 285 286 // Datas 287 this.setDateValues(form, "type_DT"); 288 this.setDateValues(form, "type_DH"); 289 290 // Floats 291 var fltElements = form.getElementsByClassName("type_FLT"); 292 for (var i = 0; i < fltElements.length; i++) { 293 form.elements[fltElements[i].getAttribute("hd-name")].value = fltElements[i].value.replace(",", "."); 294 }; 295 296 /********************************************************/ 297 // finalizando... 298 /********************************************************/ 299 300 // se for preview... dá msg de sucesso e cai fora! 301 var isPreview = form.elements["isPreview"]; 302 if (isPreview) { 303 dinForms.ResetFormValues(form); 304 return false 305 } 306 307 // LEADTRACKER 308 // Precisamos descobrir se o objeto de leadTracker existe no mesmo frame que este formulário está, ou se está no parent (ou no top). 309 // Usamos a referencia deste frame a partir disto. 310 // Para ter o máximo de compatibilidade, verifico se o browser suporta estes objetos. 311 // Resolve idealmente o uso de leadtracker por popups 312 313 // faz try-catch pois o frame parent/top pode ser de outro dominio, isto gerará um erro do tipo cross-domain. 314 try { 315 var frame 316 if (typeof dinLeadTracker !== "undefined") { 317 frame = window; 318 } else if (typeof window.parent !== "undefined" && typeof window.parent.dinLeadTracker !== "undefined") { 319 frame = window.parent; 320 } else if (typeof window.top !== "undefined" && typeof window.top.dinLeadTracker !== "undefined") { 321 frame = window.top; 322 } 323 324 // se encontramos leadtracker em algum dos frames, seta! 325 if (typeof frame !== "undefined" && frame.dinLeadTracker.isActive()) { 326 var formElements = form.elements; 327 if (typeof formElements.cmp1 !== "undefined") { 328 frame.dinLeadTracker.SetLeadEmail(formElements.cmp1.value); 329 } 330 if (typeof formElements.cmp3 !== "undefined") { 331 frame.dinLeadTracker.SetLeadExternalId(formElements.cmp3.value); 332 } 333 } 334 } catch (e) { 335 console.warn("Leadtracker ignored because of Cross-Domain error."); 336 console.warn(e); 337 } 338 339 var isCaptcha = this.hasCaptcha(form); 340 if (isCaptcha) { 341 form.getElementsByClassName("DinamizeDivCaptchaMessage")[0].style.display = "none"; 342 var recaptcha = form.elements["g-recaptcha-response"]; 343 if (recaptcha.value === "") { 344 form.getElementsByClassName("DinamizeDivCaptchaMessage")[0].style.display = "block"; 345 grecaptcha.reset(); // ver se precisa 346 return false;
347 } 348 } 349 350 let formType = ""; 351 if (document.body.getAttribute("data-type")) { 352 formType = document.body.getAttribute("data-type"); 353 } 354 let eventLabel = ""; 355 let term = ""; 356 if (form.getAttribute("data-name")) { 357 eventLabel = term = atob(form.getAttribute("data-name")); 358 } 359 let campaign = term; 360 if (form.getAttribute("data-campaign")) { 361 campaign = atob(form.getAttribute("data-campaign")); 362 } 363 364 if (formType !== "") { 365 // Para registrar a conversão do formulário no GA 366 dinGAFunctions.sendEvent("contact_conversion", formType, eventLabel) 367 368 // Para registrar a UTMs dentro do GA 369 dinGAFunctions.setUTMs("dinamize", formType, campaign, term); 370 } 371 372 // Se o form usa "msg", não faz action com redirect. 373 var isMsg = form.elements["isMsg"].value; 374 var redirectElement = form.elements["redirect-url-js"] ? form.elements["redirect-url-js"] : form.elements["redirect-url-pp"]; 375 if (isMsg == "true" || (redirectElement && redirectElement.value != "")) { 376 this.LoadingForm(form); 377 if (typeof playRoulette == "function") { 378 playRoulette(form.querySelector('input[type="sumit"]')); 379 } 380 return false; // posta o conteudo, mas não executa action do form 381 } 382 383 // Posta pro nosso receiver e este fará um redirect. 384 return true; 385 }, 386 setDateValues: function (form, className) { 387 var dtElements = form.getElementsByClassName(className); 388 for (var i = 0; i < dtElements.length; i++) { 389 if (dtElements[i].value == "") { 390 continue; 391 } 392 393 form.elements[dtElements[i].getAttribute("hd-name")].value = this.prepareDate(dtElements[i].value, dtElements[i].getAttribute("format")); 394 }; 395 }, 396 // NOVO, apenas landing page 397 SetCookie: function (cname, cvalue, exdays) { 398 var d = new Date(); 399 d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000)); 400 var expires = "expires=" + d.toUTCString(); 401 document.cookie = cname + "=" + cvalue + ";" + expires + ";path=/"; 402 }, 403 hasCaptcha: function (form) { 404 // Detecta se existe este elemento (deprecated) de captcha. 405 if (form.elements["dnz-captcha-google"] != undefined) { 406 return true; 407 } 408 // Validação normal 409 var action = form.getAttribute("action"); 410 if (action === null) { 411 return false; 412 } 413 414 action = action.split("/"); 415 if (action.length == 8) { 416 if (action[7] == 1) { 417 return true; 418 } 419 } 420 return false; 421 }, 422 LoadingForm: function (form) { 423 // 424 if (document.getElementById("DinamizeIframeFormIntegration") == undefined) { 425 var ifrm = document.createElement("iframe"); 426 ifrm.setAttribute("id", "DinamizeIframeFormIntegration"); 427 ifrm.setAttribute("name", "DinamizeIframeFormIntegration"); 428 ifrm.style.display = "none"; 429 document.body.appendChild(ifrm); 430 } 431 432 if (this.GetCookie("dinTrafficSource")) { 433 // MANTER COM ID, Sà PRECISAMOS DE UM POR document 434 if (document.getElementById("__dinTrafficSource")) { 435 document.getElementById("__dinTrafficSource").setAttribute("value", this.GetCookie("dinTrafficSource")); 436 } else { 437 var ts = document.createElement("input"); 438 ts.type = "hidden"; 439 ts.name = "__dinTrafficSource"; 440 // MANTER COM ID, Sà PRECISAMOS DE UM POR document 441 ts.id = "__dinTrafficSource"; 442 ts.value = this.GetCookie("dinTrafficSource"); 443 form.appendChild(ts); 444 } 445 } 446 447 this.Spinner(form, true); 448 449 var redirectElement = form.elements["redirect-url-pp"]; 450 if (redirectElement && redirectElement.value != "") { 451 this.Request(form.getAttribute("action") + "/", this.serialize(form), form); 452 } else { 453 // Usa um "img" para fazer uma requisição 454 var imgReq = document.createElement("img"); 455 imgReq.setAttribute("id", "DinamizeImgResponse"); 456 imgReq.style.display = "none"; // redundancia 457 458 imgReq.onload = function () { 459 // LandingPage 460 redirectElement = form.elements["redirect-url-js"]; 461 if (redirectElement && redirectElement.value != "") { 462 location.href = redirectElement.value; 463 } 464 // Fim LandingPage 465 dinForms.Spinner(form, false); 466 dinForms.ResetFormValues(form); 467 } 468 imgReq.onerror = function () { 469 dinForms.Spinner(form, false); 470 471 // elemento deprecated 472 var msgErrorDep = form.getElementsByClassName("divMessageError")[0]; 473 if (msgErrorDep) { 474 msgErrorDep.style.display = "block"; 475 } 476 477 var msgAlert = form.getElementsByClassName("DinamizeDivMessageAlert")[0]; 478 if (msgAlert) { 479 msgAlert.style.display = "block"; 480 } 481 } 482 imgReq.src = form.getAttribute("action") + "/?" + this.serialize(form) + "&a=" + Math.floor((Math.random() * 99999) + 1); 483 form.appendChild(imgReq); 484 } 485 }, 486 Request: function (url, params, form) { 487 var xmlhttp = new XMLHttpRequest(); 488 xmlhttp.onreadystatechange = function () { 489 if (xmlhttp.readyState == XMLHttpRequest.DONE) { // XMLHttpRequest.DONE == 4 490 if (xmlhttp.status >= 200 && xmlhttp.status <= 299) { 491 if ((form.elements["redirect-url-pp"].value.includes(window.location.origin))) { 492 parent.location.href = form.elements["redirect-url-pp"].value; 493 } else { 494 window.open(form.elements["redirect-url-pp"].value, "_blank"); 495 } 496 dinForms.Spinner(form, false); 497 dinForms.ResetFormValues(form); 498 } else { 499 dinForms.Spinner(form, false); 500 // elemento deprecated 501 var msgErrorDep = form.getElementsByClassName("divMessageError")[0]; 502 if (msgErrorDep) { 503 msgErrorDep.style.display = "block"; 504 } 505 var msgAlert = form.getElementsByClassName("DinamizeDivMessageAlert")[0]; 506 if (msgAlert) { 507 msgAlert.style.display = "block"; 508 } 509 } 510 } 511 }; 512 if (typeof params === "string" && params !== "") { 513 url += "?" + params; // encodeURI(params); 514 } 515 516 xmlhttp.open("POST", url, true); 517 xmlhttp.send(); 518 }, 519 Spinner: function (form, show) { 520 // manter versão por compatibilidade? 521 var submitElement = form.getElementsByClassName("dinSubmit")[0]; 522 var spinnerElement = form.getElementsByClassName("spinner")[0]; 523 524 if (show) { 525 if (spinnerElement) 526 spinnerElement.style.display = "block"; 527 528 if (submitElement) 529 submitElement.value = ""; 530 531 } else { 532 if (spinnerElement) 533 spinnerElement.style.display = "none"; 534 535 if (submitElement) 536 submitElement.value = submitElement.getAttribute("original-value"); 537 } 538 }, 539 GetCookie: function (cname) { 540 var name = cname + "="; 541 var decodedCookie = decodeURIComponent(document.cookie); 542 var ca = decodedCookie.split(";"); 543 for (var i = 0; i < ca.length; i++) { 544 var c = ca[i]; 545 while (c.charAt(0) == " ") { 546 c = c.substring(1); 547 } 548 if (c.indexOf(name) == 0) { 549 return c.substring(name.length, c.length); 550 } 551 } 552 return ""; 553 }, 554 ResetFormValues: function (form) { 555 // jquery existe? 556 if (typeof ($) != "undefined") { 557 // iCheck existe? 558 if ((typeof ($().iCheck) != "undefined")) { 559 $(form).find("input[type=\"checkbox\"]:not(.cssOnly)").iCheck("uncheck"); 560 } 561 } 562 563 var msgSuccess = form.getElementsByClassName("DinamizeDivMessageSuccess")[0]; 564 if (msgSuccess) { 565 msgSuccess.style.display = "block"; 566 } 567 var imgRequest = document.getElementById("DinamizeImgResponse"); 568 if (imgRequest) { 569 imgRequest.remove(); 570 } 571 form.reset(); 572 }, 573 LimpaAvisos: function (form) { 574 var msgSuccess = form.getElementsByClassName("DinamizeDivMessageSuccess")[0]; 575 if (msgSuccess) 576 msgSuccess.style.display = "none"; 577 578 var msgAlert = form.getElementsByClassName("DinamizeDivMessageAlert")[0]; 579 if (msgAlert) 580 msgAlert.style.display = "none"; 581 582 var msgError = form.getElementsByClassName("DinamizeDivMessageError")[0]; 583 if (msgError) 584 msgError.style.display = "none"; 585 586 // elemento deprecated, de landingPage 587 var msgErrorDep = form.getElementsByClassName("divMessageError")[0]; 588 if (msgErrorDep) 589 msgErrorDep.style.display = "none"; 590 591 var msgCaptcha = form.getElementsByClassName("DinamizeDivCaptchaMessage")[0]; 592 if (msgCaptcha) 593 msgCaptcha.style.display = "none"; 594 }, 595 validateEmail: function (email) { 596 var re = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/; 597 return re.test(email); 598 }, 599 prepareDate: function (date, format) { 600 var newDate, time; 601 format = format.substr(0, 10).replace("/", "").replace("/", "").replace("-", "").replace("-", ""); 602 time = date.substr(10, 15); 603 604 if (format == "DDMMAAAA") { 605 newDate = date[6] + date[7] + date[8] + date[9] + "-" + date[3] + date[4] + "-" + date[0] + date[1]; 606 } else if (format == "MMDDAAAA") { 607 newDate = date[6] + date[7] + date[8] + date[9] + "-" + date[0] + date[1] + "-" + date[3] + date[4]; 608 } else if (format == "AAAAMMDD") { 609 newDate = date[0] + date[1] + date[2] + date[3] + "-" + date[5] + date[6] + "-" + date[8] + date[9]; 610 } 611 612 return newDate + time; 613 }, 614 existDate: function (date, time) { 615 if (time) { 616 if (date.length != 16) { 617 return false;
618 } 619 } else if (!time) { 620 if (date.length != 10) { 621 return false; 622 } 623 date += " 00:00"; 624 } 625 626 var NEWDATE = new Date(date.replace("-", "/").replace("-", "/")); 627 var strNewdate; 628 629 var y = NEWDATE.getFullYear().toString(); 630 var m = (NEWDATE.getMonth() + 1).toString(); 631 var d = NEWDATE.getDate().toString(); 632 var h = NEWDATE.getHours().toString(); 633 var min = NEWDATE.getMinutes().toString(); 634 strNewdate = y + "-" + (m[1] ? m : "0" + m[0]) + "-" + (d[1] ? d : "0" + d[0]) + " " + (h[1] ? h : "0" + h[0]) + ":" + (min[1] ? min : "0" + min[0]); 635 636 if (date != strNewdate) { 637 return false; 638 } 639 640 return true; 641 }, 642 addClass: function (classname, element) { 643 var cn = element.className; 644 if (cn.indexOf(classname) != -1) { 645 return; 646 } 647 if (cn != "") { 648 classname = " " + classname; 649 } 650 element.className = cn + classname; 651 }, 652 removeClass: function (classname, element) { 653 var cn = element.className; 654 var rxp = new RegExp("\\s?\\b" + classname + "\\b", "g"); 655 cn = cn.replace(rxp, ""); 656 element.className = cn; 657 }, 658 //funcao do google faz o serialize estilo JQuery 659 serialize: function (form) { 660 if (!form || form.nodeName !== "FORM") { 661 return 662 } 663 var i, j, q = []; 664 for (i = form.elements.length - 1; i >= 0; i = i - 1) { 665 if (form.elements[i].name === "") { 666 continue 667 } 668 switch (form.elements[i].nodeName) { 669 case "INPUT": 670 switch (form.elements[i].type) { 671 case "text": 672 case "hidden": 673 case "password": 674 case "button": 675 case "reset": 676 case "submit": 677 q.push(form.elements[i].name + "=" + encodeURIComponent(form.elements[i].value)); 678 break; 679 case "checkbox": 680 case "radio": 681 if (form.elements[i].checked) { 682 q.push(form.elements[i].name + "=" + encodeURIComponent(form.elements[i].value)) 683 } 684 break; 685 case "file": 686 break 687 } 688 break; 689 case "TEXTAREA": 690 q.push(form.elements[i].name + "=" + encodeURIComponent(form.elements[i].value)); 691 break; 692 case "SELECT": 693 switch (form.elements[i].type) { 694 case "select-one": 695 q.push(form.elements[i].name + "=" + encodeURIComponent(form.elements[i].value)); 696 break; 697 case "select-multiple": 698 for (j = form.elements[i].options.length - 1; j >= 0; j = j - 1) { 699 if (form.elements[i].options[j].selected) { 700 q.push(form.elements[i].name + "=" + encodeURIComponent(form.elements[i].options[j].value)) 701 } 702 } 703 break 704 } 705 break; 706 case "BUTTON": 707 switch (form.elements[i].type) { 708 case "reset": 709 case "submit": 710 case "button": 711 q.push(form.elements[i].name + "=" + encodeURIComponent(form.elements[i].value)); 712 break 713 } 714 break 715 } 716 } 717 return q.join("&") 718 }, 719 }; 720 var dinGAFunctions = { 721 setUTMs: function (source, medium, campaign, term) { 722 if (!window.parent) { 723 return; 724 } 725 if (typeof window.parent.dinFunctions !== "object" || typeof window.parent.dinFunctions.setUTMs !== "function") { 726 return; 727 } 728 window.parent.dinFunctions.setUTMs(source, medium, campaign, term); 729 }, 730 sendEvent: function (eventName, eventCategory, eventLabel) { 731 if (!window.parent) { 732 return; 733 } 734 if (typeof window.parent.dinFunctions !== "object" || typeof window.parent.dinFunctions.sendEventGA !== "function") { 735 return; 736 } 737 window.parent.dinFunctions.sendEventGA(eventName, eventCategory, eventLabel, 1); 738 } 739 }; 740} 741 742// 743if (document.readyState === "complete") { 744 dinForms.onLoad(); 745} else { 746 if (window.attachEvent) { 747 window.attachEvent("load", dinForms.onLoad); 748 } else { 749 window.addEventListener("load", dinForms.onLoad); 750 } 751}
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.